为什么我的Ajax不工作?

时间:2014-04-05 14:41:58

标签: c# javascript jquery ajax

我试图从Ajax代码调用一个方法,而我的ajax代码根本没有进入Method。 我的代码中可能出现什么问题?

C#方法:

[WebMethod]
public static bool UserNameExists(string sendData)
{
    bool a;

    a = DataCheck.CheckDBUser(sendData);

    return a;
}

Ajax:

$('#Button2').click(function () {
    var name = document.getElementById('<%= UserTxt.ClientID %>').value;
    $.ajax({
        type: 'POST',
        url: 'Register.aspx/UserNameExists',
        data: '{ }',
        contentType: 'application/json; charset=utf-8',
        dataType: 'json',
        success: function(msg) {
            if (msg.d == true) {
                $("#UserLb").text("User Name is OK!");
            } else {
                $("#UserLb").text("User Name NOT avliable!");
            }
        }
    });
});

注意:当我使用alert();命令只是检查它是否正在运行 - 它没问题。

谢谢。

2 个答案:

答案 0 :(得分:4)

您的方法期望您没有在ajax调用中传递参数。 这样做:

$('#Button2').click(function () {
    var name = document.getElementById('<%= UserTxt.ClientID %>').value;

    $.ajax({
        type: 'POST',
        url: 'Register.aspx/UserNameExists',
        data: {sendData:name },
        contentType: 'application/json; charset=utf-8',
        dataType: 'json',
        success: function(msg) {
            if (msg.d == true) {

                $("#UserLb").text("User Name is OK!");
            } else {
                $("#UserLb").text("User Name NOT avliable!");
            }

        }
    });
});

并删除data:'{}'中的单引号,它应为data: {}

答案 1 :(得分:1)

您需要定义一些数据以发送给该功能。你也可以定义方法应该采用像这样的HttpPost:

[WebMethod]
[HttpPost]
public static bool UserNameExists(string sendData)
{
    bool a;

    a = DataCheck.CheckDBUser(sendData);

    return a;
}

定义一些要发送给方法的数据:

$('#Button2').click(function () {

    var name = document.getElementById('<%= UserTxt.ClientID %>').value;


    $.ajax({
        type: 'POST',
        url: 'Register.aspx/UserNameExists',
        data: {sendData: "Hello" },
        contentType: 'application/json; charset=utf-8',
        dataType: 'json',
        success: function(msg) {
            if (msg.d == true) {

                $("#UserLb").text("User Name is OK!");
            } else {
                $("#UserLb").text("User Name NOT avliable!");
            }

        }
    });
});