0
$.ajax({
   type: "POST",
   url: "check-email",
   data: {email: "name@example.com"},
   success: function(data)
   {
    // success part here        
   },
   error: function(xhr)
   {
    alert(xhr.status);
   }
});

这将调用另一个 PHP 文件。但可悲的是,该error部分始终以xhr.status打印为 0 执行。这会是什么问题?

注意:
1.这在本地完美运行。
2.这两个脚本,check-email页面位于同一个服务器。
3. 服务器采用 https 保护,为 WWW 版本。

更新:

error: function(jqXHR, textStatus, errorThrown)
{
  alert(textStatus, errorThrown);
}

这简单地打印为“错误”。

4

1 回答 1

1

我会这样做作为评论,但代码将是一场噩梦。

在你的 PHP 页面中写下这个:

<?php
echo '<pre>'.print_r($_POST, true).'</pre>';
echo '<pre>'.print_r($_GET, true).'</pre>';
?>

现在:

  1. 打开您的开发者工具 (Chrome) 或 Firebug (FireFox) 并访问网络选项卡。
  2. 刷新进行 AJAX 调用的页面
  3. 在 Network 选项卡中找到对“check-email”的 AJAX 调用,然后单击它
  4. 你看到了什么?
  5. 开发者工具中还有一个名为“Headers”的子选项卡,看看它
于 2013-08-28T20:41:58.303 回答