[英]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.