簡體   English   中英

asp.net Web服務:在json中發送json

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM