Ajax调用后面的代码。达到完整阶段,但没有返回成功或触发函数

时间:2018-05-04 15:56:48

标签: javascript jquery .net ajax vb.net

我正试图从AJAX触发代码隐藏方法:

function onEnter(key) {
  var lotTxt = document.getElementById("lotTxt");
  if (key.keyCode == 13) {
    alert("in if")
    $.ajax({
      url: 'Default.aspx/assEatinSzn',
      type: "POST",
      contentType: 'application/json; charset=utf-8',
      data: { test: "testString"},
      dataType: 'json',
      success: function (data) {
        alert("Success")
      },
      failure: function (data) {
        alert("Failure")
      }
    });
  }
}

我尝试在后面的代码中执行的操作是使用以下值更新此文本框:

Public Sub assEatinSzn(test As String)
  productTxt.Value = "Success"
End Sub

基本上我在问为什么ajax没有触发代码隐藏方法。我已经提出了断点,看看是否触发了代码隐藏方法,但是没有任何东西会破坏。 ajax方法也会产生完整的功能以及奇怪的副作用。提前致谢

1 个答案:

答案 0 :(得分:1)

问题是您没有传递test参数的值。希望以下代码可以解决您的问题:

  type: 'POST',
  url: 'default.aspx/assEatinSzn',
  data: JSON.stringify({ test: 'value here' }),
  contentType: 'application/json; charset=utf-8',
  dataType: 'json',
  success: function (data) {
  }
  ......

并确保在您的方法之前添加[WebMethod]

 [System.Web.Services.WebMethod]
 Public Shared Sub assEatinSzn(test As String)
 productTxt.Value = "Success"
 End Sub