【发布时间】:2015-11-27 14:32:11
【问题描述】:
我正在开发一个基于 php 和 jQuery ajax 的超级简单聊天,但在通过 ajax 回调函数显示 json 编码字符串时遇到问题。
这里是 ajax 请求:
$.ajax({
url: "/pages/core.chat.php",
type: "POST",
dataType: "json",
contentType: "application/json",
data: {'action' : 'loadChat'},
success: function(resp) {
$("#chatBody").html(resp.refreshChat);
}
});
这是来自 .php 文件
if ($_POST['action'] == 'loadChat') {
$resp = array("refreshChat"=>$chat);
echo json_encode($resp);
}
其中 $chat 包含消息文本。
我得到的只是一个空白页。
此外,如果我发送没有dataType 和contentType 参数的ajax 请求并在没有.refreshChat 的情况下运行回调,它会打印json 编码字符串,因为它应该是{"refreshChat":"chatmessage"},所以问题可能出在方式上我正在传递那些参数?只是猜测。
我对 jQuery ajax 很陌生,我已经检查过、双重检查和三重检查,但我不知道我做错了什么。
感谢任何可以创造魔法的人。
【问题讨论】:
-
php 中的 $chat var 中有什么?
-
如果你这样做
console.log(resp)你会得到什么,我只是好奇 -
你声明这个了吗 -> $resp = array();
-
移除 "contentType: "application/json","
标签: javascript php jquery json ajax