2013-12-08 130 views
0

我想從php文件中使用jquery帖子獲取字符串。Jquery從POST函數返回[Object object]

function getString(string) { 
    return $.ajax({ 
     type : 'POST', 
     url : 'scripts/getstring.php', 
     data : { 'string': string } 
    }); 
}; 
在Firebug控制檯我可以看到,所期望的串中發現

,但如果我想與

var blub = getString("test"); 
    alert(blub); 

只有「目標對象」得到它所示。 只是不能得到我的錯誤所在。

+0

[如何從AJAX調用返回響應?](http://stackoverflow.com/questions/14220321/how-to-return-the-response-from-an-ajax-call) –

回答

3

這是異步執行的Ajax請求是向服務器發出,所以該方法ajax實際上返回表示請求本身的對象,而不是從服務器的實際響應。

由$就()作爲jQuery的1.5的返回

jQuery的XMLHttpRequest的(jqXHR)對象是的一個超集瀏覽器的本地XMLHttpRequest對象。

您可以使用success回調,而不是:

function getString(string) { 
    return $.ajax({ 
     type : 'POST', 
     url : 'scripts/getstring.php', 
     data : { 'string': string } 
     success: function(result) { 
      alert(result); 
     }, 
    }); 
}; 

或者,如果你想成爲更靈活一點,你可以採取回調函數作爲參數:

function getString(string, callback) { 
    return $.ajax({ 
     type : 'POST', 
     url : 'scripts/getstring.php', 
     data : { 'string': string } 
     success: callback, 
    }); 
}; 

getString('test', function(result) { 
    alert(result); 
}) 
1

您正在返回一個jQuery jqXHR對象。

如果要處理來自HTTP響應的數據,那麼你需要添加一個done(或success處理。

blub.done(function (data) { 
    alert(data); 
}); 
0

object Object是預期的響應,因爲返回的數據和對象。

如果你想看到的結果對象,嘗試:

console.log(blub),而不是和查看在控制檯中。

這可以幫助您確定要在對象中檢索的數據的正確路徑。

相關問題