所以我已经多次看到这个问题和很多答案,但没有一个能解决我自己的问题,我真的不明白这可能来自哪里。
为什么我用我的控制器返回json内容但仍然访问我的Ajax请求的错误部分?
这是我的Ajax:
$.ajax({
url: '../ajax/addArticle',
type: 'POST',
data : {
title : $('#title').val(),
content : CKEDITOR.instances.editor.getData(),
},
dataType: 'json',
success: function (data){
console.log(data);
if(data == "Posted"){
alert('Article posté');
window.location = "/blog";
}
},
error: function(e) {
console.log(e);
}
});
然后我的控制器返回:
$data = ['data' => 'Posted'];
header('Content-Type: application/json');
$data = json_encode($data);
return $data;
然而这是输出:
答案 0 :(得分:0)
您应该在服务器上执行此操作:
self.executeLoginRacCommand
服务器此刻没有回应任何内容,因此请求失败的原因是,因为您有一个echo json_encode($data);
// $data = json_encode($data);
// return $data;
ajax,它没有从服务器获得JSON响应
答案 1 :(得分:0)
Ajax返回是服务器的响应,解释为文本(或HTML)输出 你的代码应该是:
$data = ['data' => 'Posted'];
header('Content-Type: application/json');
$data = json_encode($data);
echo $data;