我在js中用jquery调用后台的webservice, 一直进error, readystate是4. 后台webservice的断点也未捕获,应该是没进去. 但是地址没问题.
- JScript code
$(document).ready(function () { $.ajax({ url: "AppInterface/API.asmx/HelloWorld", type: "POST", dataType: "json", contentType: "application/json; charset=utf-8", data: "{id:1}", success: function (json) { alert(json); }, error: function (x, e) { alert(x.readyState); } }); })
- C# code
[WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] //若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。 [System.Web.Script.Services.ScriptService] public class API : System.Web.Services.WebService { public API () { //如果使用设计的组件,请取消注释以下行 //InitializeComponent(); //进行session验证 } [WebMethod] public string HelloWorld(string x) { string s = "123"; return s; }
------解决方案--------------------
你用firebug或 chrome开发人员工具 网络选项看一下请求的详细信息
还有
asp.net webservice 是以 xml为基础的,没有json
------解决方案--------------------
$.ajax({
type:"POST",
url:"<%=path%>/account/deleteAccount.do",
data:"accountId="+ids,
dataType:"json",
success:function(data){
//设置所有的数据均不被选中
datagrid.datagrid('unselectAll');
//重新加载当前页面的数据
datagrid.datagrid('reload');
//刷新左侧部门树信息
window.parent.reflushTree();
$.messager.show({
title : '提示',
timeout : 5000,
msg : '删除成功!'
});
}
});
我记得 ajax url 后边要有。do的