簡體   English   中英

Ajax調用不起作用

[英]Ajax call not working

我正在對C#函數進行ajax調用,但它沒有被調用。

這是ajax調用:

$('#button1 button').click(function () {
    var username = "username_declared";
    var firstname = "firstname_declared";
    $.ajax({
        type: "GET",
        url: "practiced_final.aspx/ServerSideMethod",
        data:{username1:username,firstname1:firstname},
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (msg) {
            $('#myDiv').text(msg.d);
        },
        error: function (a, b, c) {
            alert(a + b + c);
        }
    });
    return false;
});

這是C#代碼:

[WebMethod]
public static string ServerSideMethod(string username1, string firstname1)
{
    return "Message from server with parameter." + username1 + "hello" + firstname1;
}

此方法未被命中,並顯示如下錯誤消息:

object XMLHttpRequest]parsererrorundefined

任何幫助將受到高度贊賞。

$('#button1 button').live('click', function () {
            var username = "username_declared";
            var firstname = "firstname_declared";
            $.ajax({
                url: "/practiced_final.aspx/ServerSideMethod", type: "GET", dataType: "json",
                data: JSON.stringify({ username1: username, firstname1: firstname }),
                contentType: "application/json; charset=utf-8",
                success: function (msg) {
                    $('#myDiv').text(msg.d);
                },
                error: function (a, b, c) {
                    alert(a + b + c);
                }
            });
        });

$('button#button1')或$('#button1')或$('#button1 button')也檢查你的選擇器。 在Click事件中放入一條警報消息並查看

最后它正在工作。這是最終的代碼。 謝謝大家的明智回復。

                $.ajax({
                 type: "POST",
                 url: "practiced_final.aspx/hello_print",
                 data: "{}",
                 contentType: "application/json; charset=utf-8",
                 dataType: "json",
                 async: true,
                 cache: false,
                 success: function (msg) {
                 $('#myDiv').text(msg.d);
                 }
                 })
                 return false;

請享用。

嘗試更改此行:

data:{username1:username,firstname1:firstname},

data:JSON.stringify({username1:username,firstname1:firstname}),

編輯:

我不確定這是否是問題的原因,但我注意到我們的jQuery ajax調用之間有一點不同。 另外,改變了結果字符串以反映@ dana在我的回答評論中的批評。

在你的代碼中我可以看到:dataType:“json”,

但是你沒有通過你的C#函數發送一個Json ...當你告訴ajax dataType是一個json時,它會響應JSON.parse()。 也許這就是失敗的地方。 嘗試更改dataType,或刪除它(jQuery會嘗試猜測它)。

  $('button#button1') //Or check selector put one alert inside onclick
  $('#button1').live('click', function () {
                var username = "username_declared";
                var firstname = "firstname_declared";
                $.ajax({
                    type: "GET",
                    url: "practiced_final.aspx/ServerSideMethod",
                    data: JSON.stringify({ username1: username, firstname1: firstname }),
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    success: function (msg) {
                    $('#myDiv').text(msg.d);
                    },
                    error: function (a, b, c) {
                        alert(a + b + c);
                    }
                    })
                    return false;

它可能有所幫助

請在Jquery函數中更改以下行。

數據:{USERNAME1:用戶名,FIRSTNAME1:姓名},

數據:“{'username1':'”+ username +“','firstname1':'”+ firstname +“'}”,

希望這會幫助你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM