jquery ajax返回错误但成功

Posted

技术标签:

【中文标题】jquery ajax返回错误但成功【英文标题】:jquery ajax returns error but is success 【发布时间】:2011-11-24 10:58:51 【问题描述】:

我有以下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);




);




以及以下控制器代码:

  <?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 工作并将变量发布到服务器和数据库中,但是,javascript 将运行错误函数而不是成功函数。 http 响应代码是 200,我认为它会运行 Success 函数。有什么建议吗?

【问题讨论】:

【参考方案1】:

您需要从控制器返回 json,因为这是 jQuery 所期望的。您可以返回,即

 success : true 

或者您可以将 html 设置为数据类型(也许它可以在没有内容的情况下工作,但您可能需要返回一些东西)

【讨论】:

好的,我删除了 dataType: 因为我实际上不需要发回任何东西,所以之后它就可以正常工作了。我认为数据类型是什么类型的数据:你的输入。谢谢 不,您的输入始终序列化为 get 中的 querystring 或 post 中的 string。不客气。

以上是关于jquery ajax返回错误但成功的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 PHP 为 JQuery .ajax() 返回正确的成功/错误消息?

Jquery Ajax,从 mvc.net 控制器返回成功/错误

jquery ajax 脚本运行成功但导致错误

PHP、MySQL、jQuery、AJAX:json 数据返回正确响应但前端返回错误

jquery ajax 后台响应成功,返回正确json但不执行success方法,执行error的问题

jquery ajax 不起作用 - 成功和错误 [关闭]