来自php json的未定义对象

时间:2012-03-27 15:33:25

标签: php jquery ajax json

我尝试将json数组发送到ajax(从PHP到jQuery)

在我的PHP脚本中:

$value = 'test';
echo json_encode(
    array(
        'key' => $value
    )
);
exit;

Javascript方面:

function sweety_ajax(url, datas)
{
    $.ajax({
        url: url,
        type: 'POST',
        cache: false,
        dataType: 'json',
        data: datas,
        success: function(r){
            return r;
        }
    });
}

我在函数内部使用r.key得到了正确的值,但是我希望得到这样的“r”对象:

var response = sweety_ajax(url, datas);

alert(response.key);

但问题是响应对象未定义且无法获取key的值......

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

异步中的AJAX请求。如果你想这样做,你需要传递一个回调。

function sweety_ajax(url, datas, callback)
{
    $.ajax({
        url: url,
        type: 'POST',
        cache: false,
        dataType: 'json',
        data: datas,
        success: callback
    });
}

sweety_ajax(url, datas, function(response) {
  alert(response.key);
});