0

我正在尝试将一些数据从客户端的 jquery 发送到 codeigniter 控制器。我有 :

var data = {
    "value" : value,
    "message" : message
};

console.log(postData);

$.ajax({
    type: "POST",
    url: "my_controller/my_function",
    data: data, 
    dataType:'json',
    success: function(){

    }
});

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

echo 'post' . $_POST['value'].' '.$_POST['message'];

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

var_dump($postData); exit;

我越来越:

Message: Undefined index: value
Message: Undefined index: message

boolean(false)

数组为$_POST空。

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

4

2 回答 2

1

根据您的代码,我得到了这个效果很好:

js:

var data = {
    value : '_value_',
    message : '_message_'
};

$.ajax({
    type: "POST",
    url: "php.php",
    data: data, 
    dataType:'json',
    success: function(postData){
        console.log(postData);
    }
});

并在 php 文件 php.php 中:

<?php

echo json_encode($_POST);

?>

结果我在浏览器的控制台中得到了这个:

对象{值:“”,消息:“消息”}

于 2013-08-14T22:16:51.293 回答
0

您可以简单地按照代码

var data = {
    value : value,
    message : message
};    

$.ajax({
    type: "POST",
    url: '<?php echo base_url(); ?>my_controller/my_function',
    data: data, 
    dataType:'json',
    success: function(responseFromServer){
        console.log(responseFromServer);
    }
});

在控制器操作方法中,您只需使用此代码即可找到这些值

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

在返回任何东西之前,只需使用这些代码

 header('Content-Type: application/json', true);
 echo json_encode($postData); 

现在您在客户端找到了一个对象数组。

于 2013-08-15T04:22:48.903 回答