2015-11-18 25 views
0

我是当它涉及到AJAX相当绿色,我试图从后面功能的ASP.Net代码的电邮地址Ajax响应不defeined

当使用下面的代码我收到错误的每这个问题的标题。

这是我使用

$('.txtRequester').focusout(function() { 
console.log("textBox has lost focus"); 
function ShowCurrentTime() { 
$.ajax({ 
    type: "POST", 
    url: "Default.aspx/FindEmailAddress", 
    data: '{id: "' + $("txtRequester").val + '" }', 
    contentType: "application/json; charset=utf-8", 
    dataType: "json", 
    success: OnSuccess, 
    failure: function (response) { 
    alert(response.d); 
    } 
    }); 
} 
    function OnSuccess(response) { 
    alert(response.d); 
    } 
}); 

这是从这个网站的代码改编的代码。

ASP.Net Snippets

当改变线

success: OnSuccesssuccess: alert(response)success: alert(data)

我得到的错误,但如果我用success: alert("ok")我得到的消息说好了,所以我怀疑,我得到进入下面的功能。

<System.Web.Services.WebMethod()> _ 
Public Shared Function FindEmailAddress(ByVal id As String) As String 
Dim response As String = GetEmail(id) 
Return response 
End Function 

如果有人帮助我,让我知道我在哪里出错,我将非常感激。

谢谢

+0

为什么不'成功:功能(数据){警报(数据)} '? –

+0

尝试'console.log()'你需要从json响应中获取数据,如data.email或类似的东西,如果这是从你的json – guradio

+0

如果你做'成功会发生什么:OnSuccess(response)' – ahervin

回答

0

你还没有调用函数这就是为什么它永远不会被调用。

$('.txtRequester').focusout(function() { 
     console.log("textBox has lost focus"); 
     ShowCurrentTime(); 

    }); 

    function ShowCurrentTime() { 

     $.ajax({ 
      type: "POST", 
      url: "Default.aspx/FindEmailAddress", 
      data: '{id: "' + $("txtRequester").val() + '" }', 
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 
      success: function (response) { 
       Onsuccess(response); 
      }, 
      failure: function (response) { 
       alert(response.d); 
      } 
     }); 
    } 
    function OnSuccess(response) { 
     alert(response.d); 
    } 

这将帮助:)

+0

结果是一样的 –

+0

你是否在控制台中得到任何错误 –

+0

不,没有错误但没有其他 –

1

我觉得你可以,因为我觉得有一个由你使用错误的语法如下使用此代码检查故障状态。

$('.txtRequester').focusout(function() { 
     console.log("textBox has lost focus"); 
     function ShowCurrentTime() { 

      $.ajax({ 
       type: "POST", 
       url: "Default.aspx/FindEmailAddress", 
       data: JSON.stringify({id: ' + $(".txtRequester").val() + ' }), 
       contentType: "application/json; charset=utf-8", 
       dataType: "json", 
       success: function(data, status, header){ 
       console.log(data); 
       }, 
       error: function (response) { 
        alert(response.d); 
       } 
      }); 
     } 

    }); 

那么你肯定会得到错误的回应,如果你的成功不会命中。

+0

试图这我甚至没有进入'ShowCurrentTime'方法 –

+0

你是否在控制台上发生任何错误? – Entwickler

+0

试试这个更新的代码。无论您遇到任何错误还是成功点击? – Entwickler

0

使用AJAX直接,

$('.txtRequester').focusout(function() { 
    console.log("textBox has lost focus"); 

    var cond = $(".txtRequester").val(); 

     $.ajax({ 
      type: "POST", 
      url: "Default.aspx/FindEmailAddress", 
      data: {id:cond}, 
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 
      success: function(response){ 
       alert(response.d); 
      }, 
      failure: function (response) { 
       alert(response.d); 
      } 
     }); 


}); 
0

变化$('.txtRequester')$('#txtRequester')

变化$("txtRequester").val$('#txtRequester').val()

+0

已经提出,但我仍然得到同样的错误,没有定义响应 –

+0

txtRequester是id还是类? –

+0

在这个例子中,它是我得到它的一个类 –