2016-05-04 12 views
1

Ich versuche eine Ajax-Anfrage mit jquery und coderigniter framework zu machen, aber wenn ich versuche auf die Serverseite zuzugreifen, habe ich einen unerlaubten Zugriff.Ajax Anfrage mit Codeigniter verboten

Hier ist meine jQuery-Code:

$('#btHello').click(function() { 
    var name = $('#name').val(); 
     alert(name); 
     $.ajax({ 
      type:'POST', 
      data:'name='+ name, 
      url:'<?php echo base_url();?>index.php/AjaxTest/ajaxtest', 
      success: function(result, status){ 
       $('#result1').html(result); 
      }, 

      error: function (result, status, error) { 
       alert(error); 
      } 
     }); 
    }); 

Der Fehleralarm zeigt nur "Verboten", nichts weiter.

Weiß jemand, was ist das Problem?

Hier ist der Controler:

class AjaxTest extends CI_Controller { 

    public function index() { 
     $this->load->view('home/head'); 
     $this->load->view('home/nav'); 
     $this->load->view('test/ajaxTest'); 
     $this->load->view('home/foot'); 
    } 

    public function ajaxTest(){ 
     $name = $this->input->post('name'); 
     echo 'Hello '.$name; 
    } 
} 
+0

Wie kann ich wissen, ob es POST-Methode akzeptieren? – iAmoric

+0

Ich denke, das ist verwandt: http://stackoverflow.com/questions/32478355/ajax-csrf-403-forbidden-codeigniter –

+0

kann ich den Controller sehen? –

Antwort

1

senden

$this->security->get_csrf_token_name() : $this->security->get_csrf_hash() 

mit der Anfrage. hoffe, dass es Ihr Problem löst

$.ajax({ 
    url: "<?php echo site_url().'/admin/getNewLocations' ?>", 
    type: "POST", 
    data: { 
     func: 'getNewLocations', 
     '<?php echo $this->security->get_csrf_token_name(); ?>' : '<?php echo $this->security->get_csrf_hash(); ?>' 
    }, 
    success: function(data) { 
    } 
}); 
+0

Yeah, codenigniter warnt verboten, wenn csrf Prüfung fehlschlägt. – wolfrevo

+0

Danke. Es löste das Problem – iAmoric

+0

Gern geschehen. Lass mich etwas über CI wissen. Prost –

Verwandte Themen