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