2015-11-18 55 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

在這個例子中,它是我得到它的一個類 –