ASP.NET ajax c#始终返回undefined

时间:2016-06-01 05:55:45

标签: c# jquery asp.net ajax

我现在搜索并试了好几天,但我找不到任何解决办法。我查看了几乎每个教程和几乎每个问题都在这个板上,但没有代码对我有效。 (我知道这是一个重复的问题,但由于没有其他代码可以工作,你是我最后的希望)

我试图在ASP中从C#返回AJAX request,但无论它总是返回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#方法没有激活......我不知道为什么,我没有得到错误消息。

你能帮助我吗? 谢谢你的建议

3 个答案:

答案 0 :(得分:2)

我只是复制粘贴你的代码,它就像一个魅力一样可以在以下链接中看到

http://prntscr.com/baw6qb

我看不出你做错了什么,请在你JAVASCRIPT中放置一个调试器,看看它是否被调用。休息在我的环境中工作正常。没有text或没有jsonstring不匹配的错误。请仔细检查您的密码。你必须遗漏某些东西 输出截图 enter link description here

更新

enter image description here

答案 1 :(得分:0)

像这样构建格式

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

并通过jquery访问,如员工[0] .firstname

答案 2 :(得分:0)

我遇到了完全相同的问题,这让我发疯了。最后,经过几个小时的这样做,我检查了JSON响应,它是这样的: 的 {"Message":"Authentication failed.", "StackTrace":null, "ExceptionType":"System.InvalidOperationException"}

我搜索了这个问题,最后找到了答案 here!希望这对你也有帮助! :)