0

私は非常に単純な間違いを犯していますが、それを見つけることができませんでした。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に保存する方法を教えてください

4

2 に答える 2

2

うまくいったらこれを試してみてください。

$json = file_get_contents('php://input');
$json = stripslashes($json);
$json = json_decode($json);

convert the object array to array
$array =  (array) $json;
于 2012-11-10T17:41:28.263 に答える
0

これは間違っているようです。

 url: "<?php echo $base?>/index.php/welcome/addEvent",

あなたは実際に正しいコントローラーの方法を打っていますか?ソースコードを確認しましたか?

代わりに次のようなことを試してください(URLヘルパーを使用)。

url: "<?php echo site_url('welcome/addEvent'); ?>",
于 2012-05-28T18:24:04.117 に答える