Jquery Ajax Call不调用.CS文件中的函数

时间:2012-01-17 06:28:38

标签: asp.net jquery

我总是在“错误”中收到警报。当我调试我得到类型,网址为undefined。任何人都可以帮助我为什么这个方法没有被调用??

$(document).ready(function () {
    $("#btnajaxcall").click(function () {
        $.ajax({
            type: "POST",
            url: "Default.aspx/jQueryAjaxCalledMethod",
            contentType: "application/json; charset=utf-8",
            data: "{}",
            dataType: 'json',
            success: function () { alert('success') },
            error: function () { debugger; alert('failure'); return false; }
        });
    });
});   


[WebMethod]
public void jQueryAjaxCalledMethod()
{  
   //SOME CODE HERE       
}

3 个答案:

答案 0 :(得分:2)

如果我正确你应该使用静态方法来实现这些目的,那么你的代码后面的函数应该是这样的

[WebMethod]
public static void jQueryAjaxCalledMethod()
{  
   //SOME CODE HERE       
}

如果你仍然遇到一些错误请看看这个人的博客Encosia也许你会找到解决方案

答案 1 :(得分:1)

jquery Ajax方法将使用普通的html协议以json格式发布数据。 ASP.NET将期望解包SOAP请求以传递给web方法。因此错误。您应该使用MVC操作,如其中一条评论中所建议的那样。 编辑:进一步调查ASP.Net有一个属性,将允许调用Web方法:     [System.Web.Script.Services.ScriptService]。 在类上使用此属性可能会解决您的问题。

答案 2 :(得分:0)

大家好我刚刚使用谷歌托管的jquery文件。

结果很好。

以前我使用的是我下载并存储在本地的jquery版本1.7.1。我在论坛中也看到很多问题,这个特定的ajax调用在.NET 4中没有发生。我不确定并且原谅我,如果我错了,但我确实感觉1.7.1在这种情况下是没有正确使用ASP.NET 4.

P.S - >我在脚本标签中使用了这个 - >  SRC = “http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js”