我的php代码如下
if ($data = $user->fetch())
{
echo json_encode(array("output" => $data));
}
else
{
echo json_encode(array("output" => $data));
}
我的javascript代码如下
success: function(response)
{
alert(response); //shows me [object Object]
alert(response[0].output); // shows me nothing
alert(response[0]); //shows me undefined
alert(JSON.stringify(response)); //shows me {"output":false}
//I would like to get only true or false
}
从这篇文章(jQuery AJAX call returns [object Object])我知道[object Object]基本上是一个数组。
从这篇文章(jQuery Ajax: get specific object value)我得到了以下文字。
"您可以看到您的回复以[并以]结尾开头。所以你的回答是一个数组。
然后,在数组内部,您将获得对象(以{开头,以}结尾)。
因此,您的数据是一个数组,可以使用data [x](x是索引)访问,并且可以使用.dot表示法访问所选对象的每个成员:.word,.text等< / p>
所以在你的情况下,如果只有一个结果,你可以做数据[0] .word。&#34;
在这种情况下,我应该使用警告(response [0] .output)获得我的预期结果;
但我没有得到那个结果。谁能在这方面帮助我?
答案 0 :(得分:1)
首先,请确保您已明确设置您将接收JSON:
dataType: 'JSON',
然后尝试通过它来访问它们:
success: function(response) {
console.log(response.output);
// kindly open your console browser to see contents
// i think this is F12
if(response.output) {
// do something if true
} else {
// do something if false
}
}
答案 1 :(得分:0)
你也可以尝试这个:
success: function(response) {
// check your console
console.log(response);
//this two will give you same result
console.log(response.output);
console.log(response['output']);
//either of this two
var output = response.output;
var output = response['output'];
if(output){
//code here
}
}