当前位置: 代码迷 >> Web Service >> jQuery访问webservice 是出错,该怎么解决
  详细解决方案

jQuery访问webservice 是出错,该怎么解决

热度:325   发布时间:2012-02-02 23:57:14.0
jQuery访问webservice 是出错
$.ajax({
  type: "POST",
  url: "User/GetData.asmx/HelloWorld",
  data: '{"input":"123"}', 
  contentType: "application/json",
  dataType: "json",
  success: function (result) {
  alert(result);
   
  },
  error: function (res) {
  alert("有问题");
  }
  });
以上这样就不能访问到User/GetData.asmx/HelloWorld这里了。。
如果换成以下 的就可以.
 $.ajax({
  type: "POST",
  url: "User/GetData.asmx/HelloWorld",
  data: '{"input":"123"}', 
  dataType: "text",
  success: function (result) {
  alert(result);
   
  },
  error: function (res) {
  alert("有问题");
  }
  });
那位老大帮忙看一下是什么问题,谢谢!!

------解决方案--------------------
contentType: "application/json",
dataType: "json",


你的webservice不支持json,如果你用的是wcf(vs08,vs10),则webservice可以定义为json格式。
------解决方案--------------------
参看dataType
http://jqapi.com/#p=jQuery.ajax

如果你设置为json,那么返回的数据要是标准的json数据类型,如果不是的话就会抱错。
------解决方案--------------------
$.ajax({
type: "POST",
url: "User/GetData.asmx/HelloWorld",
data: {input:"123"}, <--- 当dataType指定是json时,这里需要传json对象
或者用Eval("")将json字符串转为json对象。
contentType: "application/json",
dataType: "json",
success: function (result) {
alert(result);

},
error: function (res) {
alert("有问题");
}
});
------解决方案--------------------
将 data: '{"input":"123"}', 换成 data: {"input":"123"},  
  相关解决方案