Jquery ajax returns an error, but it is a success

I have the following js

function change_ajaxarea1(){ navigator.notification.activityStart(); $('#ajaxarea1').load('http://server.net/droiddev/backbone1/index.php/welcome/', function(){ navigator.notification.activityStop(); $('#ajaxarea1').css("height","auto"); //$('#ajaxarea1').css("overflow","hidden"); }); //navigator.notification.activityStart(); } function postarticle(){ $.post("http://server.net/droiddev/backbone1/", { headline: "John", article: "2pm" } ); } function addarticle(){ var headlinetemp=$('#headline').val(); var articletemp=$('#article').val(); $.ajax({ type:'POST', dataType:'json', url: "http://server.net/droiddev/backbone1/index.php/welcome/addarticle/", data: { 'headline': headlinetemp, 'article': articletemp}, success:function(){ alert('success'); }, error:function(xhr){ alert(xhr.status); } }); } 

and the following controller code:

  <?php class Welcome extends CI_Controller { public function index() { $data['query']=$this->site_model->get_last_ten_articles(); $this->load->view('partial1',$data); } public function addarticle(){ $headline=$this->input->post('headline'); $article=$this->input->post('article'); $this->site_model->insert_entry($headline,$article); } } 

addarticle () javascript ajax works and sends vars to the server and to db, however javascript then runs the error function instead of the success function. The HTTP response code is 200, which I thought would make it run the Success function. any suggestions?

+5
jquery ajax codeigniter cordova
source share
1 answer

You need to return json from the controller since this is expecting jQuery. You can return, i.e.

 { success : true } 

Or you can set html as a data type (it may work without content, but you may need to return something)

+7
source share

All Articles