我编写了一个脚本,该脚本调用一个返回某些数据计数的方法,然后将'P'标记的文本(通过id = count)更改为返回值。 我的剧本:
$(document).ready(function () {
$("#count").text(function () {
$.ajax({
type: "POST",
url: "./WebForm1.aspx/GetCountUnCheckNotification",
data: {},
async: false,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
return (response.d);
},
});
});
});
有什么问题?
答案 0 :(得分:2)
如果您的回复是json,那么您需要像下面那样解析它。如果您的回复不在json中,您可以直接将值分配给.text(response)
$(document).ready(function () {
$.ajax({
type: "POST",
url: "./WebForm1.aspx/GetCountUnCheckNotification",
data: {},
async: false,
contentType: "application/json; charset=utf-8",
dataType: "json",
success:
function (response) {
var result=parseJSON(response)
$("#count").text(result.d)
},
});
});
});
答案 1 :(得分:1)
你有一个与AJAX如何工作有关的错误 - 你的功能没有返回任何东西。函数返回后会调用success
回调,因为AJAX是异步。
要完成这项工作,您必须使用AJAX调用启动,然后在其成功处理程序中设置<p>
的文本:
$.ajax({
...
success: function (result) {
$("#count").text(result.d);
}
})
答案 2 :(得分:1)
尝试:
$(document).ready(function () {
$.ajax({
type: "POST",
url: "./WebForm1.aspx/GetCountUnCheckNotification",
data: {},
async: false,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
$("#count").text(response.d);
},
});
});
答案 3 :(得分:0)
$.ajax({
type: "POST",
url: "./WebForm1.aspx/GetCountUnCheckNotification",
data: {},
async: false,
contentType: "application/json; charset=utf-8",
dataType: "json",
success:
function (response) {
$("#count").val(response["id"]); // in case of input tag
$("#count").html(response["id"]); // in case of span/p/div
},
});
答案 4 :(得分:0)
您需要在成功回调中设置$("#count").text()
...
$(document).ready(function () {
$.ajax({
type: "POST",
url: "./WebForm1.aspx/GetCountUnCheckNotification",
data: {},
async: false,
contentType: "application/json; charset=utf-8",
dataType: "json",
success:
function (response) {
$("#count").text(response.d);
}
});
}
答案 5 :(得分:0)
$ .ajax函数不返回任何内容。尝试这样的事情:
$.ajax({
type: "POST",
url: "./WebForm1.aspx/GetCountUnCheckNotification",
data: {},
async: false,
contentType: "application/json; charset=utf-8",
dataType: "json",
success:
function (response) {
$("#count").text(response.d);
},
});
答案 6 :(得分:0)
由于异步操作的工作方式,它不起作用。基本上你要告诉$('#count')。text()立即将文本设置为匿名函数返回的内容。但该函数将在触发ajax事件后返回undefined。您必须将文本调用放在最终回调中;直到以后才执行:
$(document).ready(function () {
$.ajax({
type: "POST",
url: "./WebForm1.aspx/GetCountUnCheckNotification",
data: {},
async: false,
contentType: "application/json; charset=utf-8",
dataType: "json",
success:
function (response) {
$("#count").text(response.d);
},
});
});