Ajax调用总是返回错误

时间:2017-09-08 13:19:47

标签: c# jquery ajax

我在使用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而且我不知所措。

2 个答案:

答案 0 :(得分:1)

我在这里看到的问题是你传递的论点:

data: JSON.stringify(search),

你缺少csKind,可能会将此行更改为

data: "{searchClause: '" + search + "',csKind: '" + csKind + "'}",

将您的方法更改为:

public static void AutoComplete_Press(string searchClause, string csKind)

答案 1 :(得分:0)

如果你问我,网址似乎是错误的。在浏览器中打开你的控制台,看看它说的是什么,它会丢弃连接/连接拒绝错误。同时在浏览器中打开网络,您可以查看您获得的http响应。这将有助于您开始诊断问题。