我犯了一个非常简单的错误但无法找到它。 我使用AJAX将JSON对象发布到CodeIgniter控制器,但无法在控制器函数中检索此值。 我的代码是
AJAX代码:
$.ajax({
type: "POST",
contentType: "application/json",
data: "{eventdata:" + JSON.stringify(eventToSave) + "}",
url: "<?php echo $base?>/index.php/welcome/addEvent",
dataType: "json",
success: function (data) {
alert(data);
$('#calendar').fullCalendar('renderEvent', event, true);
$('.qtip').remove();
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
debugger;
}
});
在控制台中,JSON对象以下列格式显示:
{
eventdata: {
"EventID": 170,
"StartDate": "Thu May 10 2012 00:00:00 GMT+0530 (India Standard Time)",
"EndDate": "Thu May 10 2012 00:00:00 GMT+0530 (India Standard Time)",
"EventName": "sdsfddsf"
}
}
CodeIgniter addEvent函数:
$json_output[]=(array)json_decode($this->input->post());
print_r($json_output);
我也尝试了各种其他选项但是无法从json对象中获取我需要存储在数据库中的值。请告诉我一些从json对象中检索此值然后将其存储在db中的方法
答案 0 :(得分:2)
如果有效,请试试这个。
$json = file_get_contents('php://input');
$json = stripslashes($json);
$json = json_decode($json);
convert the object array to array
$array = (array) $json;
答案 1 :(得分:0)
这看起来不对。
url: "<?php echo $base?>/index.php/welcome/addEvent",
你确定你正在按照正确的控制器方法进行操作吗?你检查过源代码了吗?
尝试做这样的事情(使用URL Helper):
url: "<?php echo site_url('welcome/addEvent'); ?>",