将$ .get的响应保存为变量

时间:2011-10-11 13:45:28

标签: php javascript jquery

function foobar(){
    $.ajaxSetup ({cache: false});
    var response = $.get("http://mysite.com/return.php")
    document.write(response);
}

我正在尝试将此响应保存为变量。我怎么能这样做?

4 个答案:

答案 0 :(得分:3)

$。get 是一个异步AJAX调用 - 您的 document.write 行将在服务器甚至向您发送响应之前执行。

如果要访问返回值,则需要在回调中执行此操作,如下所示:

$.get('/return.php', function(response) {
  document.write(response);
});

答案 1 :(得分:1)

除非您将$.ajax选项设置为async,否则您将无法使用false。否则,用于AJAX的回调将在文档关闭以进行写入后执行,并且您将覆盖整个页面。

相反,使用load以异步方式将强制性HTML转储到页面中。

答案 2 :(得分:0)

$ .get提供了一个处理响应的success()函数......

function foobar(){
    var response = null;
    $.ajaxSetup ({cache: false});
    $.get("http://mysite.com/return.php").success(function(respText) { 
            response = respText; 
            document.write(response);
    });
}

答案 3 :(得分:0)

您可以使用$ .load()函数,因为这是它的预期用途

请参阅http://api.jquery.com/load/

从手册:

此方法是从服务器获取数据的最简单方法。它大致相当于$ .get(url,data,success),除了它是一个方法而不是全局函数,它有一个隐式回调函数。当检测到成功的响应时(即当textStatus为“success”或“notmodified”时),。load()将匹配元素的HTML内容设置为返回的数据。这意味着该方法的大多数用途都非常简单:

$('#result').load('ajax/test.html');