Peut un classique de la page ASP à l'aide xmlhttp faire un JSON demande?
Je suis complètement perdu. Je suis en train de poster une API sur un serveur distant à partir d'un classique de la page asp qui utilise vbscript. Mon code:
set xmlhttp = CreateObject("MSXML2.ServerXMLHTTP")
xmlhttp.open "POST", vURL, false
xmlhttp.setRequestHeader "Content-type","application/json"
xmlhttp.setRequestHeader "Accept","application/json"
xmlhttp.send "[email protected]&firstname=joe&lastname=smith"
vAnswer = xmlhttp.responseText
- Je recevoir une réponse que la demande n'est pas dans le format attendu. Le support technique m'informe que l'API attend JSON dans le corps post. Puis-je le faire à partir du serveur-côté asp?
OriginalL'auteur user1048348 | 2011-11-15
Vous devez vous connecter pour publier un commentaire.
Parce que j'ai couru à travers ce, lorsqu'ils seront effectivement essayer de résoudre le même problème, dans mon cas, l'Affichage de l'ASP Classique à la MailChimp 2.0 de l'API, j'ai voulu faire l'écho de l'utilité de la http://code.google.com/p/aspjson/ lien, mais aussi remarque quelque chose qui était moins pertinent dans le cas de MailChimp. Je pensais que je pouvais tout simplement un format JSON à la recherche de chaîne et l'envoyer, mais il ne fonctionne pas. J'ai dû créer un objet JSON à l'aide de méthodes dans le aspjson bibliothèque, et ensuite utiliser le jsString méthode dans l'instruction send. Si l'extrait de code (après les déclarations appropriées, comprend, etc.) ressemblerait à quelque chose comme ceci:
Espère que ça aide quelqu'un d'autre le long du chemin.
OriginalL'auteur Bret
Cela devrait vraiment être la accepté de répondre.
OriginalL'auteur Anonymous
Vérifier cela, il devrait vous aider à faire ce que vous voulez:
http://code.google.com/p/aspjson/
Bonne chance!
C'est exactement ce qu'il fait de regarder les exemples dans les pages Wiki. Cependant, votre réponse pourrait être plus utile si vous avez inclus un petit exemple de code pour l'OP, plutôt que de simplement un lien.
OriginalL'auteur Bugget
La demande que vous envoyez est ..... pas de JSON. Essayez de l'utiliser comme un programme de validation: JSONLint. Chuck votre chaîne JSON là et il vous dira si c'est valable ou pas. Dans le cas ci-dessus:
[email protected]&firstname=joe&lastname=smith
. C'est certainement pas plus.Vous pouvez écrire JSON par la main, par exemple, je voudrais réécrire votre requête comme suit:
{"Email":"[email protected]", "firstname":"joe", "lastname":"smith"}
J'espère que ça aide. Oui, il y a des bibliothèques qui peuvent vous aider à le faire (ASPJSON est l'un d'entre eux), mais pour être honnête, je préfère les écrire moi-même (ASP est donc lourd) ou l'écriture de mes propres fonctions, parce que je sais que je peux leur faire confiance. Voici un exemple de morceau de code que j'ai écrit en ASP qui peuvent faire une chaîne JSON à partir d'un objet Dictionary. Il peut également avoir des tableaux à l'intérieur du dictionnaire éléments. Malheureusement, il n'est pas récursive, donc il ne peut pas faire des tableaux de tableaux ou les dictionnaires les dictionnaires ... mais il ne fonctionne calme, bien pour de simples entrées. Nommé json_encode après la fonction PHP.
bah merci 🙂
OriginalL'auteur MikeMurko