2017-07-06 86 views
-1

我想從JavaScript發送數據到ajax控制器中的功能。但阿賈克斯不會發送。我下面張貼我的代碼:從ajax發送數據到控制器codeigniter

在javascript函數

var day = $(obj).text(); 
var base_url = $('#baseurl').val(); 

$.ajax({ 
    url: base_url + "Front_end_controller/eventi", 
    method: 'POST', 
    data: {date: day}, 
    success:function(result) { 
     alert(result); // alert your date variable value here 
    } 
}); 

在控制器

public function eventi() 
{ 
    $day = $this->input->post('date'); 
    var_dump($day); 
} 
+0

你試過'的var_dump($ _ POST)'某個時候採取行動怪異 – Nicolas

+0

返回NULL在控制器的功能。 – Hadorn

+0

此外,AJAX不會發送任何空數據,請確保您的'day'變量已設置。 – Nicolas

回答

0

試試這個。看看它是否有效。只是用 「型」 而不是 「法」

var day = $(obj).text(); 
var base_url = $('#baseurl').val(); 

$.ajax({ 
    type: 'POST', 
    url: base_url + "Front_end_controller/eventi", 
    data: {date: day}, 
    success:function(result) { 
     alert(result); // alert your date variable value here 
    }, 
    error:function(result) { 
     console.log(result); 
    } 
}); 

而在你CONTROLER:

public function eventi() 
{ 
    $day = $this->input->post('date'); 
    if(!empty($day)) 
    { 
     echo $day; 
    } 
    else 
    { 
     echo "No Data"; 
    } 
} 
+0

它的工作!謝謝你,朋友! – Hadorn

0

我懷疑你錯過的東西。在ajax函數中添加錯誤回調:

var day = $(obj).text(); 
var base_url = $('#baseurl').val(); 

$.ajax({ 
    url: base_url + "Front_end_controller/eventi", 
    method: 'POST', 
    data: {date: day}, 
    success:function(result) { 
     alert(result); // alert your date variable value here 
    }, 
    error:function(result) { 
     console.log(result); 
    } 
}); 

現在,檢查您的控制檯是否有錯誤。 也可能是路線上的錯誤(也檢查/application/config/routes.php)。

+0

不幸的是沒有錯誤顯示。 ajax稱其正確... – Hadorn

+0

您是否嘗試過打印某些內容並檢查內容是否顯示爲「成功」或「錯誤」?如果你嘗試使用get來傳遞什麼會發生什麼?你能手動到達頁面並檢查打印出來的內容嗎? – Ryosaku

0

您應該嘗試echo而不是var_dump。另外,檢查輸入是否真的在那裏,並回顯一條消息,如果不是。

public function eventi() 
{ 
    $day = $this->input->post('date'); 
    if(isset($day)) //not NULL 
    { 
     echo $day; 
    } 
    else 
    { 
     echo "No Data"; 
    } 
} 

您也可以使用三元來決定回聲。這一行產生與上面的if/else語句相同的結果。

echo isset($day) ? $day : "No Data"; 
+0

是的。結果是「沒有數據」,所以Ajax不發送數據給控制器。 – Hadorn

+0

可能是因爲'$(obj).text();'在你的javascript中沒有返回任何東西。 – DFriend

+0

以及'$(obj).text();'返回在控制檯中選擇的號碼。我用它來獲得數字選擇,當我點擊鏈接href '' – Hadorn

相關問題