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