Poste à un objet de données à l'aide de Jquery Ajax
Mon code que j'ai essayé est comme suit:
var dataO = new Object();
dataO.numberId = 1;
dataO.companyId = 531;
$.ajax({
type: "POST",
url: "TelephoneNumbers.aspx/DeleteNumber",
data: "{numberId:1,companyId:531}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
alert('In Ajax');
}
});
Je voudrais passer de l'objet dataO que les données ajax, comment puis-je le faire?
Vous devez vous connecter pour publier un commentaire.
Je vais quitter ma réponse originale à cette question en place, mais le dessous est de savoir comment vous avez besoin de s'en approcher.
(Pardonnez-moi mais c'est un long temps depuis que j'utilise régulièrement asp.net /services web avec jquery:)
Vous devez utiliser les lib js json2 de la bibliothèque, vous pouvez alors utiliser le stringify méthode pour assurer votre json est dans le format correct pour le service.
Mise à JOUR: Même question /réponse ici
Tous les tableaux passé à php doit être l'objet de littéraux. Voici un exemple de JS/jQuery:
etc...`
Il peut maintenant être envoyé via Ajax dans les données: paramètre comme suit:
php capte et se lit comme un tableau normal, sans décodage nécessaire. Voici un exemple:
Toutefois, lorsque vous revenez d'un tableau de jQuery via Ajax, il doit d'abord être codé à l'aide de json.
Voici un exemple en php:
Et la sortie qui ressemble à quelque chose comme ceci:
{encore, nous voyons l'objet littéral de codage des balises} maintenant, il peut être lu par JS/jQuery comme un tableau sans aucune autre action à l'intérieur de JS/JQuery... Voici un exemple dans jquery ajax:
N'est pas nécessaire de transmettre les données en tant que chaîne JSON, vous pouvez passer de l'objet directement, sans définir
contentType
oudataType
, comme ceci:Juste passer de l'objet tel qu'il est. Remarque vous pouvez créer l'objet comme suit
Mise à JOUR semble un étrange problème avec le sérialiseur, peut-être qu'il attend une chaîne de caractères, par intérêt pouvez-vous essayer le suivant.
de données: "{'numberId':'1', 'companyId ':'531'}",
Vous pouvez passer d'un objet à la
data
option dans$.ajax
. jQuery envoie régulièrement les données post, juste comme un simple formulaire HTML.[object Object]
Cela signifie que quelque part l'objet est converti en chaîne de caractères.
Converti en une chaîne:
Pas converti en une chaîne: