jQuery Requête POST - retour JSON
Je veux utiliser le jQuery $.ajax
de faire un POST d'appel de l'envoi de certaines informations (par la POSTE comme: page.aspx?var1=value
....).
Mais je veux aussi jQuery pour gérer le service est de retour JSON en sorte que je reçois en retour un objet JSON.
var data = {name: _name, ...};
var request = $.ajax({
url: url,
type: "post",
data: data,
//dataType: "json"
});
Dès que j'utilise dataType: "json"
, ce qui me permet de recevoir l'objet JSON-je obtenir une parseerror sur la demande!
Espère que vous pourrez m'aider avec ça!
GRÂCE À ADVACE!
Quelle est l'erreur exacte que vous obtenez?
Si vous êtes l'obtention d'un parse erreur, cela signifie que votre JSON n'est pas valide. Pouvez-vous coller la chaîne JSON que vous obtenez de retour? Il est probable que la syntaxe est cassé quelque part.
Vous pouvez définir un en-tête comme "Content-Type: application/json" dans la demande et jQuery sera automatiquement savoir ce que son obtention.
Vous ne pouvez pas contrôler ce que le serveur va envoyer de nouveau à vous à moins qu'ils définissent un moyen de le faire. Alors, êtes-vous censé être leur envoyant le formulaire en JSON, ou êtes-vous censé être l'envoi d'un courrier simple objet? Question suivante: quel est le format le serveur se définir comme étant la réponse?
Holy crap. Vous les gars sont vraiment RAPIDE!! Je pense avoir trouvé le problème. Je pensais que le parseError était parce qu'il était en train d'analyser mon POST de données en json, mais en fait il y a un non-format json returing forme le serveur!!! 🙂 Je suis en droit que dataType: 'json' est la configuration pour la réception d'un objet json et le type: 'post' me permet de faire une normale POST-appel à toutes les données.. non?!!! MERCI BEAUCOUP POUR CETTE RAPIDE RESPINSE AIDER!!!
Si vous êtes l'obtention d'un parse erreur, cela signifie que votre JSON n'est pas valide. Pouvez-vous coller la chaîne JSON que vous obtenez de retour? Il est probable que la syntaxe est cassé quelque part.
Vous pouvez définir un en-tête comme "Content-Type: application/json" dans la demande et jQuery sera automatiquement savoir ce que son obtention.
Vous ne pouvez pas contrôler ce que le serveur va envoyer de nouveau à vous à moins qu'ils définissent un moyen de le faire. Alors, êtes-vous censé être leur envoyant le formulaire en JSON, ou êtes-vous censé être l'envoi d'un courrier simple objet? Question suivante: quel est le format le serveur se définir comme étant la réponse?
Holy crap. Vous les gars sont vraiment RAPIDE!! Je pense avoir trouvé le problème. Je pensais que le parseError était parce qu'il était en train d'analyser mon POST de données en json, mais en fait il y a un non-format json returing forme le serveur!!! 🙂 Je suis en droit que dataType: 'json' est la configuration pour la réception d'un objet json et le type: 'post' me permet de faire une normale POST-appel à toutes les données.. non?!!! MERCI BEAUCOUP POUR CETTE RAPIDE RESPINSE AIDER!!!
OriginalL'auteur Nik | 2013-02-28
Vous devez vous connecter pour publier un commentaire.
À partir de l'url demandée, vous devez faire des données au format JSON
comme
et alors vous aurez la réponse JSON dans la réussite de la fonction comme ceci:
var arr = JSON.parse(response);
OriginalL'auteur Vimal Patel
assurez-vous que votre serverside script de retour encodé en json.
En php utiliser
json_encode()
.également définir
dataType : 'json'
dans$.ajax
appel.la bonne façon est de définir l'en-tête sur votre POSTE de fichier par
header('Content-type: application/json');
... cela force le serveur à le reconnaître comme json. pas besoin de ledataType:json
à ce point.bien qu'il ne vous aide ou encore même...laissez-moi savoir pour obtenir de l'aide..
n'est-ce pas ce que jQuery n'lorsque vous définissez la
dataType
?je suis d'accord..
OriginalL'auteur Dipesh Parmar
Tout d'abord une requête post n'a pas les paramètres ajoutés après l'URL. Le format que vous avez spécifié est pour la requête GET.
Vous pouvez atteindre le même objectif:
OriginalL'auteur Deb
Que par la jQuery
$.post
de la documentation, je recommande fortement la mise en œuvre de toutes les principales méthodes de rappel (done
,fail
,always
) dans un premier temps de sorte que si il y avait des erreurs avec votre réponse JSON puis ils n'obtiennent pas caché:OriginalL'auteur icc97