无法通过ajax获得POST的价值

时间:2015-02-05 22:22:31

标签: php jquery ajax codeigniter post

我正在搜索大约4个小时,但我仍然不明白,为什么这段代码无效。

我正在使用Codeigniter框架,csrf已关闭,xss过滤已关闭。

我的js:

var url_to_ajax = base_url + "ajaxcalls/newcomment";
$.ajax({
        url: url_to_ajax,
        type: "POST",
        data: {parent_id: "a"},
        success: function ( data ) {
            alert(data);
        }
});

并在控制器中:

public function newcomment() {

        $parent_id = $this->input->post('parent_id');

        echo "please print it: ".$parent_id;
        print_r($_POST);
}

$parent_id为空且$_POST为空数组。在警报中,我看到"请打印它:Array()"这就是全部。

有人知道我为什么不能得到这个" a"来自控制器的警报?

2 个答案:

答案 0 :(得分:1)

您的代码对我来说很好。可能是URL中有错误。试试这段代码,看看是否有任何错误信息。

var url_to_ajax = base_url + "ajaxcalls/newcomment";
$.ajax({
        url: url_to_ajax,
        type: "POST",
        data: {parent_id: "a"},
        success: function ( data ) {
            alert(data);
        },
        error: function (jqXHR, textStatus, errorThrown)
                        {
                            alert(errorThrown);
                        }
});

答案 1 :(得分:0)

如果您没有使用url重写,请将“index.php”与base_url一起使用。试试这个:

$.ajax({
    url: base_url + "index.php/ajaxcalls/newcomment",
    type: "POST",
    data: {parent_id: "a"},
    success: function ( data ) {
        alert(data);
    }
});