0
我正在使用jquery將json字符串發送到ASMX Web服務。 Web服務方法的定義背後的代碼如下所示:asp.net web服務:在json內發送json
[WebMethod(EnableSession = true)]
public string DoMyProcess(string TheDataID, string TheUserID, string TheData) {
字符串海圖是我序列使用
var TheData = JSON.stringify(MyObject);
發送的JSON看起來像這樣jQuery的部分JavaScript對象MyObject來:
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時發生問題的結果;它應該工作,但它不會。我錯過了什麼?
當你的Web方法通過設置'VAR海圖=‘測試’在調試器,以提高'是其他參數正確填充(在服務器端),比如'TheDataID'? – ironsam 2012-02-26 18:15:18
你有沒有試過在AjaxData上調用stringify? 'data:JSON.stringify(AjaxData),' – 2012-02-26 18:36:59
TheData被指定爲string not object。嘗試將TheData聲明爲對象(MyObject?)。 – Jules 2012-02-26 21:54:16