Message: Invalid JSON primitive: ajax-jquery-Methode mit Webmethod
Ich bin mit Daten-Wert als Objekt-literal, anstelle von verketten einer Zeichenfolge, wie in diese Antwort
Mein code ist der folgende:
$.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);
}
})
und meine webmethod ist wie folgt :
[WebMethod]
public static string SaveClient(string projectSoid, string startDate,
string endDate, string clientManager)
{
...
}
Aber ich bekomme die folgende Fehlermeldung:
Meldung: Invalid JSON primitive: projectSoid
- Sie müssen auf JSON.strigify Ihre Daten:
data: JSON.strigify({ "projectSoid": ProjectId, "startDate": StartDate, "endDate": EndDate, "clientManager": ClientManager }),
- Jeder Kommentar auf mein Kommentar? Haben Sie es ausprobiert? Hat es geklappt?
- ich weiß nicht, was ist JSON.strigify? ich erhielt den Fehler, dass es nicht funktionieren 🙁
- Welchen browser verwenden Sie? Sie müssen möglicherweise den json2 in älteren Browsern
- ich bin mit IE 8
- bitte replay als Antwort, so dass ich es auswählen zu können
- +1 nemesv. Mein Problem gelöst 🙂
- Nestor bekam eine Fehlermeldung, da nemesv Tippfehler Fehler (verpasste eine n): JSON.stringify
- Die richtige Schreibweise ist JSON.stringify
Du musst angemeldet sein, um einen Kommentar abzugeben.
Mit Ihrem
contentType: 'application/json; charset=utf-8'
Sie behaupten, dass Sie senden, JSON aber derzeit Ihredata
Eigenschaft ist, die nicht im Besitz JSON.Müssen Sie zusammenarbeiten, um Ihre
data
zu JSON mit derJSON.stringify
Methode:So ändern Sie Ihre
data
Eigenschaft:Sollten Sie beachten, dass die
JSON.stringify
Methode nicht nativ unterstützt, bei älteren Browsern, so Sie können, müssen Sie eine Implementierung mit der Verwendung einer der verschiedenen Bibliotheken, wie:Douglas Crockford ' s JSON2 Bibliothek.
Javascript auf Client-Seite
Web-Methode im Code-behind -