我在 codeigniter 中遇到了 ajax/jquery 的问题。
在 Html 页面中,我有一个按钮,当按下它时,会调用以下处理程序。
按键处理程序:
function postMessage(e) {
var postUrl = 'http://localhost/myProject/index.php/main/post_message';
$.ajax({
type: "POST",
url: postUrl,
success: successfulPost,
dataType: "text"
});
}
ajax回调:
function successfulPost(data) {
data = JSON.parse(data);
document.write(data[0].hello);
}
主控制器内的服务功能:
function post_message() {
echo "[{\"hello\":\"world\"}]";
return;
}
问题是 JSON.parse() 似乎没有完成他的工作。
这些功能非常简单,所以我开始想也许codeigniter有问题?
编辑:
奇怪的是,如果我将完全相同的 json 字符串放入 JSON.parse() 中,它就会被解析,问题是服务函数何时传递它。
编辑:
计算 json 字符串的字符数,它应该是 13,但我得到 17...
编辑:
我现在认识到,即使正确完成了回显,HTTP 响应的正文中也会出现奇怪的字符……诸如换行符 \0 或制表符之类的东西,有人知道为什么吗?