asp.net web服务:在json中发送json
本文关键字:json net web 服务 asp | 更新日期: 2023-09-27 18:25:47
我正在使用jquery向ASMX web服务发送json字符串。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.stringfy(MyObject);带有
var TheData = "test";
我能够让调试器在代码隐藏文件的第一行中断。
这一定是在json中发送json时出现问题的结果;它应该行得通,但不行。我错过了什么?
首先,您可以使用fiddler了解有关错误500的更多详细信息。
但我认为错误在于用JSON发送JSON。您必须将字符''"替换为''"
示例:
var TheData = JSON.stringify(MyObject).replace(new RegExp(''"', 'g'),'''"');