[英]asp.net web service : sending json within json
我正在使用jquery將json字符串發送到ASMX Web服務。 Web服務方法定義的背后代碼如下所示:
[WebMethod(EnableSession = true)]
public string DoMyProcess(string TheDataID, string TheUserID, string TheData) {
字符串TheData是我使用序列化的JavaScript對象MyObject
var TheData = JSON.stringify(MyObject);
發送json的jquery部分如下所示:
var AjaxData = '{"TheDatatID":"' + DatatID + '","TheUserID":"' + UserID + '","TheData":"' + TheData + '"}';
$.ajax({
type: "POST",
url: "../WebServices/MyServices.asmx/DoMyProcess",
data: AjaxData,
contentType: "application/json; charset=utf-8",
dataType: "json",
cache: "false",
success: RequestSuccess,
error: RequestError
});
就這樣,我得到了500錯誤,調試器甚至在VS中都不啟動。 但是,如果我替換var TheData = JSON.stringify(MyObject); 與
var TheData = "test";
我能夠使調試器在文件后面的代碼的第一行中斷。
這必須是在json中發送json時出現問題的結果; 它應該可以,但是不能。 我想念什么?
首先,您可以使用提琴手獲取有關Error 500的更多詳細信息。
但是我認為錯誤是在JSON中發送JSON。 您必須將字符“”替換為“”
例:
var TheData = JSON.stringify(MyObject).replace(new RegExp('\\"', 'g'),'\\\\"');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.