使用Jquery和ASP.NET解决Ajax问题

时间:2011-05-30 14:48:19

标签: javascript jquery asp.net ajax vb.net

我在这个论坛上看到了很多关于此的内容,但我无法让它发挥作用。

我想在我的asp.net web应用程序上使用ajax函数

所以这是VerifMain.aspx上的Javascript

$(document).ready(function () {

//menu()
$("#btnImprimer").click(function () {
    $.ajax({
        type: "POST",
            url: "/VerifMain.aspx/Lol",
            data: "{}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (msg) {
                alert("Good"); 
            },
            error: function (msg) {
                alert(msg);
            }
        });
    });
});

这是VerifMain.aspx.vb中的服务器代码

Partial Public Class _Default
    Inherits Page
    <WebMethod()> _
    Public Shared Sub Lol()
        //TO DO
    End Sub
End Class

因此,当我尝试调用此方法时,它会进入错误函数并且警报为“[object Object]”

我必须使用JQuery,因为我工作的地方没有安装Microsoft Ajax。

我真的需要帮助,我不明白我做错了什么,我只是坚持使用ie7,几乎每个网站都被阻止了。

谢谢!

度过美好的一天!!

编辑: 嗨,大家好 谢谢你的时间!

我通过删除分部类来修复它。

所以现在它只是服务器代码中的一个静态Web方法,它可以工作。

<WebMethod()> _
Public Shared Sub Lol()
    //TO DO
End Sub

说实话,我不明白它是如何运作的

但感谢您的快速回复。

这是最好的网站,我现在将在这里度过一些空闲时间;)

3 个答案:

答案 0 :(得分:2)

尝试调用此方法,而不是再次测试它:

<WebMethod()> _
<ScriptMethod(ResponseFormat:=ResponseFormat.Json)> _
Public Shared Function GetDate() As String
    Return Date.Now.ToString()
End Function

将URL替换为:

url: "/VerifMain.aspx/GetDate",

答案 1 :(得分:1)

ASP.NET AJAX修改了3.5中返回的JSON。您需要访问d媒体资源,请参阅http://encosia.com/never-worry-about-asp-net-ajaxs-d-again。我不知道你的错误是什么,但如果你将代码更改为以下内容,你会看到它:

$(document).ready(function () {

//menu()
$("#btnImprimer").click(function () {
    $.ajax({
        type: "POST",
            url: "/VerifMain.aspx/Lol",
            data: "{}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (data) {
                alert("Good"); 
            },
            error: function (data) {
                alert(data.d);
            }
        });
    });
});

答案 2 :(得分:0)

只需检查一下msg:

error: function (msg) {
                var i,s="";
                for(i in msg) s += (s?"\n":"") + i + ": " + msg[i];
                alert(s);
            }