2014-10-02 167 views
0

我試圖使用jquery GET功能從外部頁值加載到變量存儲在變量

var cbname = $.get('/getname.php','name='+item.f); 
alert(cbname); 

但警告它帶給我的object object

誰能值指導什麼是最好的辦法做到這一點:

+1

它返回一個承諾對象 – 2014-10-02 17:03:23

+0

嘗試console.debug(cbname),看看它包含[如何返回從Ajax響應 – 2014-10-02 20:28:02

+0

可能重複調用? ](http://stackoverflow.com/questions/14220321/how-to-return-the-response-from-an-ajax-call) – dave 2014-10-02 21:50:57

回答

0
var cbname; 

$.get('/getname.php','name='+item.f, function(data) { 
    cbname = data; 
    alert(cbname); 
}); 

要使用成功的回調。

如果你不想使用回調,而是希望有一個同步調用:

jQuery.ajax({ 
    url: '/getname.php?name='+item.f, 
    success: function(data) { 
     cbname = data; 
    }, 
     async: false 
}); 

alert(cbname); 

還要注意的是,如果item.f沒有網址安全,您需要使用

'/getname.php?name='+encodeURIComponent(item.f) 

代替

+2

很確定你會從這裏得到'undefined'。 'alert'也需要在回調中。 – dave 2014-10-02 17:09:56

+0

傢伙,如果我使用上面並將警報置於回調之外,它給了我'對象對象',我如何在外部使用它。 – voyeger 2014-10-02 18:56:07

+0

已更新用於同步功能(SJAX而不是AJAX) – Lotus 2014-10-02 19:35:21

0

如果您正在Web請求,不採取簡單的辦法,迫使你的程序同步運行,而是開始思考像一個AJAX編程:不是想「我需要一個個功能在返回一個值時,「一位AJAX程序員認爲,」我需要一個函數,只要我有它就可以執行某個值。「

你想要的東西,像下面這樣:

$.get('/getname.php','name=' + item.f, myCallback); 

function myCallback(cbname) { 
    alert(cbname); 
}