【问题标题】:How to handle errors in Ajax?如何处理 Ajax 中的错误?
【发布时间】:2014-10-24 08:20:32
【问题描述】:

我正在尝试通过 Ajax 回显某些内容,但没有得到任何输出。所以我会添加一对错误处理来看看哪里出了问题。

如何添加简单的错误处理代码来查看错误在哪里?

page.html

<body>
    <input id="name" type="text" />
    <input id="button" type="button" value="Load" />
    <div id="feedback"></div>

    <script type="text/javascript" src="../js/jquery.js"></script>
    <script type="text/javascript" src="ajax.js"></script>
</body>

page.php

<?php
  if (isset($_GE['name'])) {
     echo $name = $_GET['name'];
  }
?>

ajax.js

$('#button').click(function () {
    var name = $('#name').val();
    $.ajax({
        url: 'page.php',
        data: {
            name: name
        },
        success: function (data) {
            $('#feedback').html(data);
        },
        error: function (jqXHR, textStatus, errorThrown) {
            console.log(textStatus, errorThrown);
        }
    });
});

【问题讨论】:

  • 小测验:当你在浏览器中打开page.php?name=foo时,会发生什么?
  • 什么都没有显示!!控制台也没有错误...
  • 可能会出现内部服务器错误,因为您写了$_GE['name'] 错误
  • 正确。这是你必须解决的第一件事。检查How to get useful error messages in PHP?
  • 是的,这是错字;)谢谢

标签: jquery ajax error-handling


【解决方案1】:

您是从本地驱动器运行它吗?如果是这样,您的浏览器将由于空源策略而阻止该请求。 就调试而言,最好的选择是转到开发人员工具的网络选项卡,它会显示它正在运行。

编辑:不要介意我注意到您使用的是 php 服务器的第一部分。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-26
    • 2012-07-20
    • 1970-01-01
    • 1970-01-01
    • 2010-11-06
    • 1970-01-01
    • 2013-05-19
    相关资源
    最近更新 更多