1
我從Facebook上的遊戲中提取數據並將這些值存儲在一個對象中,然後傳遞給PHP頁面。除了存儲在對象中的值以某種方式未被分配給全局對象變量的事實之外,一切都有效。爲什麼我的對象值在我的AJAX回調函數外不可用?
如果我打印出函數中每個鍵的值,一切都很好。但是,如果我在函數之外打印它們,它們將返回null,除了在函數外部分配的鍵值以外。
var myObj={};
var key, val, i, nxtCell;
var srcStrings=["Attack","Defense","Health","Energy","Stamina"];
$.ajax(
{
type:'GET',url:'<game link'+uID,
dataType:'html',
success:function(data)
{
var table=$(data);
var myTD=table.find("td");
$(myTD).each(function()
{
for(i=0;srcStrings.length>i;i++)
{
if($(this).text().indexOf(srcStrings[i])>=0 && $(this).text().indexOf("by")<0)
{
key=$.trim($(this).text());
key=key.replace(':','');
val=$.trim($(this).closest("td").next().text());
myObj[key]=val;
}
};
});
// This print works fine.
$.each(myObj, function(key, value)
{
console.log(key + ":" + value);
});
}
});
// Printing myObj key -> value pairs does not work here.
正如我所說的,最後每個函數打印出的對象值。但是他們不會在AJAX回調之外打印出來。我試圖將數據傳遞給AJAX調用之外的函數,看看它是否有影響,但沒有。
感謝您的回覆。我在上面列出的代碼之後發佈了一篇文章。由於這個原因,這些值不會發布。你能告訴我什麼工作可以取悅嗎? – user2592690
哦,等等......我會把另一個POST放在那個GET裏,也許這會起作用...... – user2592690
是的,工作。再次感謝! – user2592690