Message: Invalid JSON primitive: ajax jquery méthode avec Webmethod

Je suis en utilisant les Données de la valeur en tant qu'objet littéral, au lieu de la concaténation d'une Chaîne comme expliqué dans cette réponse

Mon code est le suivant:

$.ajax({    
  url: "../Member/Home.aspx/SaveClient",
  type: "POST",
  async: false,
  dataType: 'json',
  contentType: 'application/json; charset=utf-8',
  data: {
    "projectSoid": ProjectId,
    "startDate": StartDate,
    "endDate": EndDate,
    "clientManager": ClientManager
  },
  success: function(response) {
    if (response.d != "") {

    }
  },
  error: function(response) {
    var r = jQuery.parseJSON(response.responseText);
    alert("Message: " + r.Message);
    alert("StackTrace: " + r.StackTrace);
    alert("ExceptionType: " + r.ExceptionType);
  }
})

et mon webmethod est comme ceci :

[WebMethod]
public static string SaveClient(string projectSoid, string startDate, 
     string endDate, string clientManager)
{
    ...
}

Mais j'obtiens l'erreur suivante:

Message: Invalid JSON primitive: projectSoid

  • Vous avez besoin de JSON.strigify vos données: data: JSON.strigify({ "projectSoid": ProjectId, "startDate": StartDate, "endDate": EndDate, "clientManager": ClientManager }),
  • Aucun commentaire sur mon commentaire? Avez-vous essayé? Est-il travaillé?
  • je ne sais pas qu'est-ce que JSON.strigify? je suis d'erreur qu'il n'est pas la fonction 🙁
  • Quel navigateur utilisez-vous? Vous pouvez avoir besoin de json2 dans les navigateurs plus anciens
  • j'utilise IE 8
  • veuillez relire comme réponse, donc je peux le sélectionner
  • +1 nemesv. Résolu mon problème 🙂
  • Nestor eu une erreur car nemesv faute de frappe d'erreur (s'il a raté un n): JSON.stringify
  • L'orthographe correcte est JSON.stringify

InformationsquelleAutor Nestor C | 2013-03-08