0

在客户端我有:

var postData = {
    "id" : id,
    "message" : message
};

console.log(postData);

$.ajax({
    type: "POST",
    url: "controller/function",
    data: postData, 
    success: function(){
        alert(id + ' ' + message);
    }
});

这似乎工作正常,因为我可以在 chrome 开发工具中看到正确的发布参数。在我的 codeigniter 控制器中,我尝试过:

echo 'postid' . $_POST['id'].' '.$_POST['message'];

$postData=$this->input->post('id');

var_dump($postData); exit;

我越来越:

Message: Undefined index: id
Message: Undefined index: message

boolean(false)

数组为$_POST空。

我怎样才能解决这个问题?谢谢您的帮助

4

4 回答 4

1

您可以添加dataType:'json'您的 ajax 选项

$.ajax({
       type: "POST",
       url: "controller/function",
       data: postData,
       dataType:'json',
       success: function(){
           alert(id + ' ' + message);
       }
});
于 2013-08-13T04:05:03.633 回答
0

在客户端添加dataType:'json'参数。$.ajax

于 2013-08-13T05:10:55.183 回答
0

您是否将 CI 配置为使用 CSRF 保护?如果是,您需要在 POST 请求中包含 CSRF 字段和值。

于 2013-08-13T04:56:13.137 回答
0
$.ajax({
    type: "POST",
    url: "controller/function",
    data: postData, 
    success: function(data){
        alert(data.id + ' ' + data.message);
    }
});

ajax在数据中返回json对象,你忘了在函数中写入数据

于 2013-08-13T04:59:18.507 回答