【发布时间】:2015-12-16 07:08:48
【问题描述】:
我的参数如下:
var pMaster = '{"tid" : "474", "fid":"2"}';
var pDetail = '[{"recid":5618,"tid":"474","itemid":"1435","nar1":""},{"recid":5619,"tid":"474","itemid":"1203","nar1":""},{"recid":5620,"tid":"474","itemid":"1205","nar1":""}]';
var e = '{PurcMast: ' + pMaster + ', PurDetail: ' + pDetail + '}';
我正在调用ajax如下
$.ajax({
type: "POST",
url: "WebService.asmx/saveValue",
data: e,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (result) {
alert(result.d);
},
error: function (jqXHR) { alert(jqXHR.responseText); }
});
WebService.asmx 代码如下:
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
[WebMethod]
public void saveValue(string PurcMast, string PurDetail)
{
System.Data.DataTable purMaster = Common.CommonFunction.convertJSON2Table(Purchase);
System.Data.DataTable purDetail = Common.CommonFunction.convertJSON2Table(PurchaseDetail);
}
我收到如下错误:
未捕获的错误。{"Message":"没有为 \u0027System.String\u0027 类型定义无参数构造函数。","StackTrace":" 在 System.Web.Script.Serialization.ObjectConverter.ConvertDictionaryToObject(IDictionary
2 dictionary, Type type, JavaScriptSerializer serializer, Boolean throwOnError, Object\u0026 convertedObject)\r\n at System.Web.Script.Serialization.ObjectConverter.ConvertObjectToTypeInternal(Object o, Type type, JavaScriptSerializer serializer, Boolean throwOnError, Object\u0026 convertedObject)\r\n at System.Web.Script.Serialization.ObjectConverter.ConvertObjectToTypeMain(Object o, Type type, JavaScriptSerializer serializer, Boolean throwOnError, Object\u0026 convertedObject)\r\n at System.Web.Script.Services.WebServiceMethodData.StrongTypeParameters(IDictionary2 rawParams)\r\n 在 System.Web.Script.Services.WebServiceMethodData.CallMethodFromRawParams(对象目标,IDictionary2 parameters)\r\n at System.Web.Script.Services.RestHandler.InvokeMethod(HttpContext context, WebServiceMethodData methodData, IDictionary2 rawParams)\r\n 在 System.Web.Script.Services.RestHandler.ExecuteWebServiceCall(HttpContext 上下文, WebServiceMethodData methodData)","ExceptionType":"System.MissingMethodException"}
各位大侠帮帮我,我不明白我做错了什么。
【问题讨论】:
-
道歉哥们,我只是将值更改为字符串。我用 JSON.stringify() 试过了,但还是一样的错误。
-
源 JSON 中的 PurcMast 和 PurDetail 道具周围没有“”。这是无效的 JSON。
-
你的 URL 是
url: "WebService.asmx/saveValue"而方法名是savePurchase -
@Alisagar,也更新了,但没有调用 Web 服务。
标签: c# jquery asp.net ajax asmx