我有一个ajax代码,我想在html页面上打印值。
var val = $.ajax({
type: "post",
url: "count.jsp",
data: "",
cache: false,
success: function(str)
{
return str;
}
});
alert (val);
我想用val打印。 count.jsp
代码如下。
ResultSet rs=pst.executeQuery();
if(rs.next())
{
val=rs.getInt(1);
}
out.println(val);
如何在页面上打印val?
答案 0 :(得分:1)
ajax是异步的。这意味着它在ajax函数本身完成后完成了一段时间。所以你不能只是简单地从成功处理程序返回一个值,并期望从ajax函数返回。
实际上,从成功处理程序返回一个值绝对没有任何意义。该值只会回到ajax基础架构的内部。
您需要做的是将警报放在成功处理程序中。任何想要使用ajax调用结果的代码都必须在成功处理程序中或从成功处理程序中调用:
$.ajax({
type: "post",
url: "count.jsp",
data: "",
cache: false,
success: function(str) {
// put code here to use the ajax data
// or call a function here and pass it the ajax data
alert(str);
}
});
此外,根据jQuery documentation,jQuery .ajax()
函数的返回值是jqXHR对象。