当用户尝试在我的网站上添加书签和文章时,我正在执行AJAX调用。这一直在起作用,我不知道会发生什么变化。我正在返回JSON和错误的调用错误" parsererror"。没有其他细节。我在后台测试PHP代码,它工作正常,没有问题。我读了几篇关于这个主题的帖子,它提到添加"标题('内容类型:application / json');"我做了,但仍然没有运气。当我在后台测试时,我会收到回复{" status":" X"," new_token":" 9b5a824a"}。
脚本
$(document).on("click","#bookmark",function(a){
a.preventDefault();
var t=$(this).attr("bookmark_id"),
e=$("input[name=token").val(),
s=$(this);
$.ajax({
type:"POST",
url:"bookmark",
data:{token:e,bookmarkid:t},
dataType:"json",
success:function(data)
{
if(data.status == 'X')
{
s.find("i").addClass("green");
$("input#token").val(data.new_token);
s.removeAttr("href");
}
},
error : function(request,error)
{
alert(error);
}
})
}),
Codeigniter PHP代码
public function bookmark()
{
$this->load->model('User_model');
if($this->User_model->add_bookmark($this->input->post('bookmarkid')))
{
$data['jsondata']['status'] = 'X';
$data['jsondata']['new_token'] = $this->tokens->token();
$this->load->view('json_view', $data);
}
else
{
$data['jsondata']['status'] = '';
$data['jsondata']['new_token'] = $this->tokens->token();
$this->load->view('json_view', $data);
}
}
JSON视图
<?php
header('Content-type: application/json');
echo json_encode($jsondata);
?>
答案 0 :(得分:0)
实际上,您不必为ajax调用呈现视图文件。
控制器:
public function bookmark()
{
$this->load->model('User_model');
if($this->User_model->add_bookmark($this->input->post('bookmarkid')))
{
$data = array('status' => 'X','new_token' => $this->tokens->token());
}
else
{
$data = array('status' => '','new_token' => $this->tokens->token());
}
echo json_encode($data);
}