2016-06-01 72 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!希望这也能帮助你! :)