使用JSON从AJAX和JQuery调用简单的Web服务(.asmx文件) – 解析错误
尝试将所有这些技术结合在一起迈出了我的第一步……我正在尝试一些…
这是我的服务器端:
[WebMethod(EnableSession = true)] [ScriptMethod(ResponseFormat = ResponseFormat.Json)] public string simplestMethod(){return“最简单的方法返回”; }
这是我的客户方:
$(文件)。就绪(函数(){ $( “A”)。点击(函数(事件){ $就({ 类型:“POST”, url:“http:// localhost:53346 / d2 / TAPI.asmx / simplestMethod”, 数据:“{}”, contentType:“application / json; charset = utf-8”, dataType:“json”, 成功:函数(数据){ 警报(data.d); }, error:function(XMLHttpRequest,textStatus,errorThrown){ alert(“Error Occured!”+“|”+ XMLHttpRequest +“|”+ textStatus +“|”+ errorThrown); } }); }); });
结果是一条警告说:
发生了错误! | [object XMLHttpRequest] | parseerror | 未定义。
什么解析失败了,为什么?
我应该提一下,直接调用WS方法确实有效。
非常感谢!
你的代码在一个可疑的地方看起来很好: url
。 您应该将url
替换为"TAPI.asmx/simplestMethod"
或"/d2/TAPI.asmx/simplestMethod"
。
此外,如果您想研究如何使用参数调用Web方法或从Web方法返回更复杂的数据,请查看如何构建要发送到AJAX WebService的JSON对象? 和asmx web服务,json,javascript / jquery? , 如果ContentType不是JSON , 我可以从.asmx Web服务返回JSON吗? 。 如何解决来自Web方法内部exception的错误消息,请参阅在ajax调用失败时在vb.net中获取xhr对象 。
如果要在jquery中使用WebMethod,则必须将此标记添加到web.config
祝好运