【发布时间】:2013-11-23 14:36:18
【问题描述】:
我有以下按钮:
<button onclick='enroll(<?php echo $course['cs_id']; ?>)'>enroll</button>
当用户点击它时,将启动以下 javascript 函数:
function enroll(id){
$.post("<?php echo base_url().'courses/enroll/'; ?>"+id , function(data){
obj = JSON.parse(data);
alert(obj.state);
});
}
对 php 页面执行 post 请求,该页面会像这样回显 json 数组:
$data = array("state"=>"done");
die(json_encode($data));
但不幸的是,控制台中出现以下错误:
JSON.parse:意外字符
我检查了页面响应,它看起来像这样(看起来不错):
{"state":"done"}
当我将注册()函数更改为这样时:
function enroll(id){
$.post("<?php echo base_url().'courses/enroll/'; ?>"+id , function(data){
alert(data);
});
}
它像这样正确显示警报消息:
{"state":"done"}
那么为什么它拒绝解析一切似乎都正常的响应?有什么想法吗?
【问题讨论】:
标签: javascript php jquery json codeigniter