2011-09-24 38 views
5

Tôi có JS saujquery ajax trả về lỗi nhưng là thành công

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); 
} 



}); 



} 

và mã điều khiển sau:

<?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); 



    } 
} 

Các addarticle() javascript tác ajax và viết các vars đến máy chủ và vào db, tuy nhiên, javascript sau đó sẽ chạy hàm lỗi thay vì hàm thành công. Mã phản hồi http là 200 mà tôi nghĩ sẽ làm cho nó chạy hàm thành công. bất kỳ đề xuất?

Trả lời

7

Bạn cần trả về json từ bộ điều khiển, vì đây là những gì jQuery mong đợi. Bạn có thể quay trở lại tức là

{ success : true } 

Hoặc bạn có thể thiết html như kiểu dữ liệu (có thể nó sẽ làm việc không có nội dung nhưng bạn có thể cần phải trả lại một cái gì đó)

+1

Được rồi, tôi cũng loại bỏ các datatype: vì tôi không thực sự cần bất cứ điều gì để được gửi trở lại để sau đó nó hoạt động như bình thường. tôi nghĩ rằng datatype là cho loại dữ liệu: nhập của bạn. thanks –

+0

Không, đầu vào của bạn luôn được tuần tự hóa thành chuỗi truy vấn trong chuỗi nhận hoặc chuỗi trong bài đăng. Không có gì. –

Các vấn đề liên quan