我在使用Jquery调用WebMethod时遇到了麻烦。
function runQuery(e) {
var search = $(e).val();
var csKind;
if ($('#rbLP').is(':checked'))
csKind = 1;
else
csKind = 0;
var params = {
url: 'addEditProduct.ascx/AutoComplete_Press',
method: 'post',
contentType: 'application/json',
data: JSON.stringify(search),
dataType: 'json',
success: function(data) {
alert(1);
},
error: function(data) {
alert(2);
}
};
$.ajax(params);
}
[WebMethod]
public static void AutoComplete_Press(string searchClause, int csKind)
{
int searchType = 0; //ЕГН
Regex regex = new Regex("^[0-9]+$");
if (!regex.IsMatch(searchClause))
searchType = 1;
string clients = laboratory.getClients2(searchType, searchClause, csKind);
}
我如何诊断问题,我以前从未使用过ajax而且我不知所措。
答案 0 :(得分:1)
我在这里看到的问题是你传递的论点:
data: JSON.stringify(search),
你缺少csKind,可能会将此行更改为
data: "{searchClause: '" + search + "',csKind: '" + csKind + "'}",
将您的方法更改为:
public static void AutoComplete_Press(string searchClause, string csKind)
答案 1 :(得分:0)
如果你问我,网址似乎是错误的。在浏览器中打开你的控制台,看看它说的是什么,它会丢弃连接/连接拒绝错误。同时在浏览器中打开网络,您可以查看您获得的http响应。这将有助于您开始诊断问题。