我正在对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
任何帮助都将受到高度赞赏。
答案 0 :(得分:1)
$('#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);
}
});
});
$('按钮#button1')或$('#button1')或$('#button1按钮') 检查你的选择器。在点击事件中放置一条警报消息,然后查看
答案 1 :(得分:1)
最后它正在运作。这是最终的代码。 感谢大家的明智回复。
$.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;
享受。
答案 2 :(得分:0)
尝试更改此行:
data:{username1:username,firstname1:firstname},
到
data:JSON.stringify({username1:username,firstname1:firstname}),
编辑:
我不确定这是否是问题的原因,但这是我注意到的jQuery ajax调用之间的不同之处。另外,改变了结果字符串以反映@ dana在我的回答评论中的批评。
答案 3 :(得分:0)
在你的代码中我可以看到:dataType:“json”,
但是你没有通过你的C#函数发送一个Json ......当你告诉ajax dataType是一个json时,它会响应JSON.parse()。也许这就是失败的地方。 尝试更改dataType,或删除它(jQuery会尝试猜测它)。
答案 4 :(得分:0)
$('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;
它可能会有所帮助
答案 5 :(得分:0)
请在Jquery函数中更改以下行。
数据:{USERNAME1:用户名,FIRSTNAME1:姓名},
到
数据:“{'username1':'”+ username +“','firstname1':'”+ firstname +“'}”,
希望这会对你有所帮助。