Ajax调用显示PHP变量

时间:2014-04-16 15:29:33

标签: php jquery

我觉得好像我在这里犯了一个菜鸟错误,但这让我感到烦恼,所以我想我会发帖!

我正在尝试将php数组中的message记录到控制台。实际发生的是,数据不返回任何内容,消息返回“成功”,data.message未定义。

JavaScript的:

var message = '';
jQuery.ajax({
    url: '/dir/myfile.php',
    type: "POST",
    dataType: "json",
    data: { message : message },
    error: function(xhr, text, thrown){
        console.log('error');
    },
    success: function(data, message, text, xhr){

        if(data.message){
            console.log('data exists');
        } else if(message){
            console.log(message);
        }else{
            console.log('no data');
        }
    },
})

PHP:

$output = array(
    'code' => 1,
    'message' => 'Please work!'
);
echo json_encode($output);

1 个答案:

答案 0 :(得分:2)

根据https://api.jquery.com/jQuery.ajax/,成功回调的原型应该是:

Function(PlainObject data, String textStatus, jqXHR jqXHR)

无论如何,你不应该做这样的测试:

if (data) { ... } else if (msg) { ... }

因为您的消息是您的数据!

你想要的是:

if (data) { console.log(data.code) ; console.log(data.message) ; }