关于.net:使用JSON从AJAX和JQuery调用简单的Web服务(.asmx文件) – 解析错误

Calling simple web service (.asmx file) from AJAX and JQuery using JSON - parse error

尝试将所有这些技术结合在一起迈出了我的第一步......我有一些小事......
这是我的服务器端:

1
2
3
4
5
6
[WebMethod(EnableSession = true)]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string simplestMethod()
{
  return"Simplest method returned";
}

这是我的客户方:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 $(document).ready(function(){
   $("a").click(function(event){    
      $.ajax({
      type:"POST",
      url:"http://localhost:53346/d2/TAPI.asmx/simplestMethod",
      data:"{}",
      contentType:"application/json; charset=utf-8",
      dataType:"json",
      success: function (data) {
       alert(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方法内部异常的错误消息,请参阅在ajax调用失败时在vb.net中获取xhr对象。


如果要在jquery中使用WebMethod,则必须将此标记添加到web.config

1
2
3
4
5
6
7
<configuration>
  <system.web>
    <httpModules>
     
    </httpModules>
  </system.web>
</configuration>

祝好运