Primitive JSON non valide: id
Je ne peux pas obtenir la fonction suivante pour fonctionner correctement. Il semble être la sérialisation de mal. C'est sur la 5ème itération de données différentes variantes. J'ai été à l'origine simplement en faisant de données: {'id': id} comme je le fais à travailler avec WCF, mais avec le ASMX il n'est tout simplement pas de travail. On dirait que c'est la sérialisation de teh données id=1234 au lieu de id:1234, mais je suis assez nouveau dans ce. Toute aide serait appréciée. Oh, et je peux appeler le service directement dans le navigateur et il renvoie les données correctement donc je sais que ce n'est pas le service.
function getVentID(id) {
//look up id in database and get VentID
alert('id: ' + id);
var jsdata = { "id": + id}
$.ajax({
type: 'POST',
contentType: 'application/json; charset=utf-8',
url: 'services/UserService.asmx/getVentID',
data: jsdata,
dataType: 'json',
success: function (msg) {
alert(msg.d);
},
error: function (a, b, c) {
alert('Error: ' + a.toString() + ' ' + b.toString() + " " + c.toString());
}
});
}
p.s. Je sais qu'il y a 10 questions identiques mais aucun d'eux n'a les réponses que j'ai pu trouver ou qui ont travaillé pour moi.
source d'informationauteur Scott Beeson
Vous devez vous connecter pour publier un commentaire.
La plus simple solution possible serait de changer la ligne de début
var jsdata
:Le problème est que jQuery est l'encodage jsdata que les données de formulaire, pas de json. Le
dataType
paramètre influe sur la façon dont la réponse est analysée, pas comment le POST de données est codé.Il n'y a pas réellement de toute la sérialisation JSON code en jQuery au meilleur de ma connaissance. Apparemment John Resig suggère l'utilisation de Douglas Crockford de l'json2.js.
À l'utiliser, ajouter un script de référence pour json.js et puis: