C# Ajax调用总是返回错误
使用Jquery调用WebMethod时遇到问题C# Ajax调用总是返回错误,c#,jquery,ajax,C#,Jquery,Ajax,使用Jquery调用WebMethod时遇到问题 函数runQuery(e){ var search=$(e.val(); var-csKind; 如果($('#rbLP')。是(':checked')) csKind=1; 其他的 csKind=0; 变量参数={ url:'addEditProduct.ascx/AutoComplete_Press', 方法:“post”, contentType:'应用程序/json', 数据:JSON.stringify(搜索), 数据类型:“json”
函数runQuery(e){
var search=$(e.val();
var-csKind;
如果($('#rbLP')。是(':checked'))
csKind=1;
其他的
csKind=0;
变量参数={
url:'addEditProduct.ascx/AutoComplete_Press',
方法:“post”,
contentType:'应用程序/json',
数据:JSON.stringify(搜索),
数据类型:“json”,
成功:功能(数据){
警报(1);
},
错误:函数(数据){
警报(2);
}
};
$.ajax(params);
}
[WebMethod]
publicstaticvoidautocomplete\u按(字符串search子句,int-csKind)
{
int searchType=0;//БГ
正则表达式正则表达式=新正则表达式(“^[0-9]+$”;
如果(!regex.IsMatch(search子句))
searchType=1;
stringclients=laboratory.getClients2(searchType、search子句、csKind);
}
我如何诊断这个问题,我以前从未使用过ajax,现在我不知所措。如果你问我,url似乎是错误的。在浏览器中打开您的控制台,查看它显示的内容,它将抛出“无法连接/连接被拒绝”错误。同时在浏览器中打开网络,您可以检查得到的http响应。这将帮助您开始诊断问题 我在这里看到的问题是你的传递参数:
data: JSON.stringify(search),
您缺少csKind,可能将此行更改为
data: "{searchClause: '" + search + "',csKind: '" + csKind + "'}",
并将您的方法更改为:
public static void AutoComplete_Press(string searchClause, string csKind)
您可以在发出请求后通过检查控制台来诊断错误。您还可以查看网络选项卡以查看状态代码和响应文本。更好的是,在VS的WebMethod中放置一个断点并逐步执行。这似乎不是一个有效的url:
addEditProduct.ascx/AutoComplete\u Press
。