从ajax调用打印返回值

时间:2014-01-24 17:39:07

标签: jquery ajax

我有一个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?

1 个答案:

答案 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对象。