jQuery ajax调用不会工作

时间:2011-01-09 18:00:44

标签: jquery ajax

我有这个:

$('.photoSaved').click(function () {
  var savedPhoto = $(this).attr('id');
  $.ajax({
    url: "status.php",
    type: "POST",
    data: { mode: 'use', name: savedPhoto },
    success: function(){
      $.fancybox.close();
      $('#status_upContent').hide();
      $("#image").append($(document.createElement("img")).attr({src: "images/users/status/"+savedPhoto})).show();
    }
  });
});

使用:

if($_POST['mode'] && $_POST['mode'] == 'use'){
  $_SESSION['status_attachedImage'] = $_POST['name'];
  echo 'ok';
}

我可以看到它发出请求,但它并没有给我回复“确定”和成功:没有执行

2 个答案:

答案 0 :(得分:2)

尝试添加“错误”回调。这将告诉你出了什么问题。

错误(XMLHttpRequest,textStatus,errorThrown)

  

请求失败时要调用的函数。该函数传递三个参数:XMLHttpRequest对象,描述发生的错误类型的字符串和可选的异常对象(如果发生)。第二个参数的可能值(除了null)是“timeout”,“error”,“notmodified”和“parsererror”。这是一个Ajax Event.This处理程序不会为JSONP请求调用,因为它们不使用XMLHttpRequest。

添加此行,类似于您的success回调:

error: function(XMLHttpRequest, textStatus, errorThrown) {
    console.error(errorThrown);
} 

答案 1 :(得分:1)

如果您在Firefox或Safari中进行开发,可以使用console.error函数来调试代码中抛出的任何错误。