簡體   English   中英

CodeIgniter + AJAX內部錯誤500

[英]CodeIgniter + AJAX Internal Error 500

我正在嘗試對我的Notification控制器中的一個方法進行ajax調用。

我的方法是:

public function testeAjax()
{
    if($this->chamadaAjax())
        echo 'Ajax';
    else
        echo 'Form';
}

$this->chamadaAjax()簡單執行, $this->input->is_ajax_request()

這是我的Ajax電話:

$.ajax({
      type: "POST",
      url: '<?php echo base_url(); ?>/office/notificacao/testeAjax',
      success: function(html) {
        alert(html);
      }
    });

我有一個帶有兩個按鈕的表單,一個用於表單提交,另一個用於ajax請求。

事實是,當我向ajax中添加一些數據,例如:data:“ nome = Gerep”並調用它時,我收到一個Internal Erro 500

當我不發送任何數據,它的工作原理,它返回提交和Ajax當我打電話Ajax請求時,我的形成

有任何想法嗎?

編輯使用FireBug,這是我得到的:

f.support.ajax.f.ajaxTransport.sendjquery-1.7.1.min.js:4
f.extend.ajaxjquery-1.7.1.min.js:4
testenotificacao:140
(anonymous function)notificacao:113
onclick

不確定如何通過CRSF保護來管理服務器,但是如果需要在域之間共享內容,則需要使用CORS 只需在Web服務器上定義Origin策略,您就可以開始了。

您是在URL中傳遞數據還是在定義對象? 即:正在傳遞的數據(尤其是POST)應如下所示:

$.ajax({
      type: "POST",
      url: '<?php echo base_url(); ?>/office/notificacao/testeAjax',
      data: { nome: "Gerep" },
      success: function(html) {
        alert(html);
      }
    });

而不是這樣的:

$.ajax({
      type: "POST",
      url: '<?php echo base_url(); ?>/office/notificacao/testeAjax?nome=Gerep',
      success: function(html) {
        alert(html);
      }
    });

問題出在跨站點請求偽造 ,禁用它可以解決問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM