我正在搜索大約4個小時,但我仍然不明白,爲什麼此代碼無法正常工作。無法通過ajax獲取POST的值
我使用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」嗎?
檢查'$ _SERVER ['REQUEST_METHOD']',看你的腳本是否真的在處理一個帖子。可能會導致重定向並將您的帖子轉換爲get。 – 2015-02-05 22:23:54
你說得對,echo $ _SERVER ['REQUEST_METHOD'];打印GET,但爲什麼?然而,GET也是空陣列... – 2015-02-05 22:26:41
有人說過,你試過jQuerie的'$ .post(...)'而不是'ajax'嗎? http://api.jquery.com/jquery.post/ – 2015-02-05 22:26:59