我的数组中包含10条以上的记录,我想把它传递给控制器,但是会弹出错误请求。
以下是我的代码:
$('#submit_fourth').click(function(){
//send information to server
$.ajax({
type: 'POST',
url: '<?php print site_url('orgnization/storeData'); ?>/'+fields
});
});
如代码所示,fields
是包含数据的数组。现在,以下是firebug中的错误消息。
任何帮助?
答案 0 :(得分:1)
您正在以错误的格式发送数据数组。请参阅下面的示例
$.ajax({
type: "POST",
url: "<?php print site_url('orgnization/storeData'); ?>",
data: { name: "John", location: "Boston" }//your data will send in this format
})
答案 1 :(得分:1)
试试这个:
$('#submit_fourth').click(function(){
//send information to server
$.ajax({
type: 'POST',
data: {fields:fields},
url: '<?php print site_url('orgnization/storeData'); ?>/'
success: function(data)
{
console.log('Success');
}
});
});
并在PHP代码中:
public function storeData()
{
....
if($this->input->post())
{
$fields = $this->input->post('fields');
}
....
}
答案 2 :(得分:1)
在发布数据之前使用JSON.stringify();并在数据中提供它,不要追加到网址中。
$('#submit_fourth').click(function(){
//send information to server
$.ajax({
type: 'POST',
url: '<?php print site_url('orgnization/storeData'); ?>/',
data: JSON.stringify(fields)
});
});
答案 3 :(得分:0)
如果您想发送GET请求,请尝试此操作:
$data = array('foo'=>'bar',
'baz'=>'boom',
'cow'=>'milk',
'php'=>'hypertext processor');
echo site_url('orgnization/storeData') . '?' . http_build_query($data);
和
type: 'POST'
更改为type: 'GET'
如果你想发送POST:
$.post("<?php print site_url('orgnization/storeData'); ?>", <?php echo json_encode($data); ?>)
.done(function( data ) {
alert( "Data Loaded: " + data );
});