2016-06-01 103 views
1

我搜索並嘗試了幾天,但我找不到任何解決方案。我查閱了幾乎所有的教程和幾乎所有關於這個主板的問題,但沒有代碼爲我工作。 (我知道這是一個重複的問題,但由於沒有其他代碼的工作,所有,你是我的最後希望)ASP.NET ajax c#總是返回undefined

我試圖返回一個AJAX request從C#在ASP中,但不管它總是返回undefinded即使有代碼從教程。

以下是我在我的Default.aspx

<script type="text/javascript"> 
    $(document).ready(function() { 

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

,這裏是從Default.aspx.cs

[WebMethod] 
public static string GetData() 
{ 
    return "This string is from Code behind"; 
} 

我隱藏的問題是:在C#方法不激活...我不知道爲什麼,我沒有得到任何錯誤消息。

你能幫我嗎? 謝謝您的建議

+2

返回JSON數據而不是字符串,您的設置dataType爲json,ajax期待json –

+0

打開瀏覽器控制檯並查看響應數據(或錯誤)。 –

+0

@AnupamSingh在我的瀏覽器控制檯中沒有錯誤 –

回答

2

我只是複製粘貼你的代碼和它的工作就像一個魅力爲一體可以在下面的鏈接查看

http://prntscr.com/baw6qb

我不明白你在做什麼錯了,請p請在您的調試器JAVASCRIPT中看看它是否被調用。休息在我的環境中工作正常。沒有text或不需要json而不是string不匹配。請徹底檢查你的代碼。你必須失去了一些東西,其中
輸出截圖 enter link description here

更新

enter image description here

+0

你的鏈接被我的公司過濾^^「我看不到你的截圖或代碼 我的Javascript被調用和工作,但我的C#代碼不運行。在我的c#函數中,它不運行。 有沒有什麼技巧或隱藏的提示,我必須在Visual Studio中做? –

+0

正如我所說,我親愛的朋友,我只是複製過去的代碼,它的工作原因是你看不到圖片,讓我告訴你我想要一個調試器放置他們的,它是工作。如果它不在任何情況下調用你的方法。你可以使用'firebug'來查看請求是否被髮送。'firebug'的''''選項顯示所有從你的頁面執行的''方法'。請檢查一次 – KhawajaAtteeq

+0

Firebug Message Default.aspx/GetData: {「Message」:「Authentication failed。」,「StackTrace」:null,「ExceptionType」:「System.InvalidOperationException」} –

0

構建格式像jQuery的像員工來說,這

{"employees":[ 
    {"firstName":"John", "lastName":"Doe"}, 
    {"firstName":"Anna", "lastName":"Smith"}, 
    {"firstName":"Peter", "lastName":"Jones"} 
]} 

並獲得通過[0] .firstname

+0

我必須把這個放在哪裏?我真的不知道我應該怎麼做你的代碼 –

0

我有完全相同的問題,這是推動我瘋了。最後,這樣做的小時後,我檢查了JSON響應,它是這樣的: {"Message":"Authentication failed.", "StackTrace":null, "ExceptionType":"System.InvalidOperationException"}

而且我搜索了這個問題,並終於找到答案了 here!希望這也能幫助你! :)