显示空值的Javascript对象

显示空值的Javascript对象,javascript,Javascript,我试图用POST请求返回的数据填充一个空对象。已成功返回数据,但在代码中发现对象为null。代码如下: var item = {}; var args= {p: "<?php echo $id; ?>"}; $.post('api.php', args, function(response) { startSpinner(spinner); if (response.status == 0) { item = response.data;

我试图用POST请求返回的数据填充一个空对象。已成功返回数据,但在代码中发现对象为null。代码如下:

var item = {};   
var args= {p: "<?php echo $id; ?>"};

$.post('api.php', args, function(response) {

    startSpinner(spinner);
    if (response.status == 0) {
        item = response.data;
        console.log("ITEM: " + JSON.stringify(item));
    }

}).done(function() {
    ..
});

if (item == null || item == undefined) {
    alert("TTEMST");
}
var item={};
var args={p:'};
$.post('api.php',参数,函数(响应){
startSpinner(旋转器);
如果(response.status==0){
项目=响应。数据;
log(“项:+JSON.stringify(项));
}
}).done(函数(){
..
});
if(item==null | | item==未定义){
警报(“TTEMST”);
}

在控制台日志中,该项明显显示为填充了数据,但满足了null对象的if条件,即显示了警报框。我认为填充对象的方式有问题。请帮忙

这行代码很可能在post返回之前运行。您应该将其添加到回调或then中。代码不会等待
$.post
返回,然后再移动到该if语句

if (item == null || item == undefined) {
    alert("TTEMST");
}

这行代码很可能在post返回之前运行。您应该将其添加到回调或then中。代码不会等待
$.post
返回,然后再移动到该if语句

if (item == null || item == undefined) {
    alert("TTEMST");
}

您的
if
条件(具有警报)不会等待Post完成

您需要在post回调中使用
if
,如下所示:

$.post('api.php', args, function(response) {

    startSpinner(spinner);
    if (response.status == 0) {
        item = response.data;
        console.log("ITEM: " + JSON.stringify(item));

        if (item == null || item == undefined) {
            alert("TTEMST");
        }
    }

您的
if
条件(具有警报)不会等待Post完成

您需要在post回调中使用
if
,如下所示:

$.post('api.php', args, function(response) {

    startSpinner(spinner);
    if (response.status == 0) {
        item = response.data;
        console.log("ITEM: " + JSON.stringify(item));

        if (item == null || item == undefined) {
            alert("TTEMST");
        }
    }

$.post()
是异步的<代码>警报在成功回调之前执行

$。post()是异步的<代码>警报
在成功回调之前执行

非常感谢,我仍然习惯于异步执行!非常感谢,我仍然习惯于异步执行!