【发布时间】:2013-09-01 00:40:48
【问题描述】:
我得到一个从 PHP 返回的数组,我首先在 php 中使用 json_encode() 并回显该数组。我得到了一个 AJAX 请求禁用“异步”的数组。我知道我不应该使用它,但这是我能找到的唯一方法。
它返回给我这个:
{"id":"38","name":"111111111111111111111111111111111111111111111.jpg"}
这是我的 AJAX 请求:
function uploadFile(file){
var formData = new FormData();
formData.append('formData', file);
$.ajax({
url: 'inc/ajax/uploadFile.php', //Server script to process data
type: 'POST',
data: formData,
contentType: false,
processData: false,
async: false,
//Ajax events
success: function(html){
strReturn = html;
}
});
return strReturn;
}
当我这样做时,我得到了整个数组:
var img = uploadFile(file);
console.log(img);
但当我调用“img.name”或 img.id”时,它会显示未定义。
【问题讨论】:
-
要使这个异步运行,只要在你的 AJAX 调用的
success回调中运行任何期望来自uploadFile函数的输出的代码。这样代码在数据可用时运行,您不必锁定浏览器来执行此操作。 -
请不要
async:false。
标签: php javascript jquery ajax arrays