Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Json返回未定义的_Php_Json_Ajax - Fatal编程技术网

Php Json返回未定义的

Php Json返回未定义的,php,json,ajax,Php,Json,Ajax,大家好,我有下面的登录页面。我使用ajax从我的视图页面访问它。当我试图在ajax上显示返回的数据时,控制台上出现了一个错误 login.js:35未捕获类型错误:无法读取的属性“success” 未定义 在Object.success(login.js:35) at i(jquery-2.2.0.min.js:2) 在Object.fireWith[as resolveWith](jquery-2.2.0.min.js:2) 在z(jquery-2.2.0.min.js:4) 在XMLHttp

大家好,我有下面的登录页面。我使用ajax从我的视图页面访问它。当我试图在ajax上显示返回的数据时,控制台上出现了一个错误

login.js:35未捕获类型错误:无法读取的属性“success” 未定义 在Object.success(login.js:35) at i(jquery-2.2.0.min.js:2) 在Object.fireWith[as resolveWith](jquery-2.2.0.min.js:2) 在z(jquery-2.2.0.min.js:4) 在XMLHttpRequest。(jquery-2.2.0.min.js:4)

我希望能够显示来自json数组的消息,如果成功,我将显示custome消息,否则显示来自响应的内容。问题是属性未定义

第35行:


if(data.message.success==“ok”){

我认为响应数据是字符串,您需要调用

$.parseJSON(data);
在您可以访问消息之前,然后单击“成功”

=============

如果要使用数据类型:“json”,则需要使用PHP的header()函数将json作为json发送:

/* Send as JSON */
header("Content-Type: application/json", true);

/* Return JSON */
echo json_encode($json);

/* Stop Execution */
exit;

我认为响应数据是字符串,您需要调用

$.parseJSON(data);
在您可以访问消息之前,然后单击“成功”

=============

如果要使用数据类型:“json”,则需要使用PHP的header()函数将json作为json发送:

/* Send as JSON */
header("Content-Type: application/json", true);

/* Return JSON */
echo json_encode($json);

/* Stop Execution */
exit;

您的错误消息显示错误在第35行。这与您发布的代码不匹配。login.js中是否有比您显示的更多的内容?如果是,请显示它(如果相关),或者明确指出代码中的哪一行是第35行。@PatrickQ第35行:
If(data.message.success==“ok”){
jQuery/Javascript应该足够聪明,知道响应是json,但万一遇到问题,请尝试添加
数据类型:“json”,
在您的ajax中setup@PatrickQ这也增加了:
encode:true
您的错误消息说错误在第35行。这与您发布的代码不匹配。login.js中是否有比您显示的更多的内容?如果是,则显示它(如果相关)或者明确指出代码中的哪一行是第35行。@PatrickQ第35行:
if(data.message.success==“ok”){
jQuery/Javascript应该足够聪明,知道响应是json,但万一遇到问题,请尝试添加
dataType:“json”,
在您的ajax中setup@PatrickQ这也增加了:
encode:true
我使用了数据类型,还增加了ajax上的encode:true。不需要在php中设置标题,它就可以工作了。我使用数据类型,还增加了ajax上的encode:true。不需要在php中设置标题,它就可以工作了
/* Send as JSON */
header("Content-Type: application/json", true);

/* Return JSON */
echo json_encode($json);

/* Stop Execution */
exit;