我搜索了大约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
为空数组。。在警报中,我看到"请打印它:数组()",仅此而已。
有人知道为什么我不能从控制器那里得到"a"警报吗?
您的代码对我来说运行良好。可能是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);
}
});
如果您不使用url重写,请将"index.php"与base_url一起使用。试试这个:
$.ajax({
url: base_url + "index.php/ajaxcalls/newcomment",
type: "POST",
data: {parent_id: "a"},
success: function ( data ) {
alert(data);
}
});