【发布时间】:2019-03-21 22:52:31
【问题描述】:
我在没有输出 JSON 的地方发生了一件奇怪的事情。 Chrome 正在显示
'未能加载响应数据'。
我的控制器任务很简单,其他实例返回 JSON,但对于我来说,我无法弄清楚这一点。以下函数返回加载失败消息。但是,如果我取消注释 var_dump() 行。我得到了预期的 var_dump 和回显的 JSON。如何只输出 JSON。
public function updateDealStatus() {
$response_array = array();
$data = $_POST;
if (isset($data["currentDeal"]) && $data["currentDeal"] >= 0) {
$update = array('deal_status' => $data['statusUpdate']);
$this->db->where('deal_id', $data["currentDeal"]);
$this->db->update('deals', $update);
if ($this->db->trans_status() === TRUE) {
$response_array = array('status' => 'success', 'message' => 'Data changed');
} else {
$response_array = array('status' => 'success', 'failed' => 'No data changed');
}
}
header('Content-Type:application/json');
//var_dump(json_encode($response_array));
echo json_encode(array($response_array));
return;
}
Ajax 调用:
$.ajax({
type: "POST",
dataType: "json",
url: url,
cache : false,
data: data, // serializes the form's elements.
success: function (res) {
$('#quickTimeModal').modal('toggle');
}
});
更多:向 Ajax 调用添加细节:
contentType: "application/json; charset=utf-8",
dataType: "json",
var_dump 的结果是:
并且“加载响应数据失败”。没有 var_dump。
【问题讨论】:
-
注释
return;并以这种方式返回数据echo json_encode($response_array); -
是的,我也试过了,结果显示“加载响应数据失败”。我也尝试过刷新输出缓存,它也给出了相同的“加载响应数据失败”。
标签: php json codeigniter