【问题标题】:jQuery ajax keeps getting into error instead of success functionjQuery ajax 不断出错而不是成功函数
【发布时间】:2012-10-26 18:06:25
【问题描述】:

我正在尝试在选择事件上执行 ajax 功能。基本上,我有一个 Google Maps API 连接,它根据给定的输入为我提供了一个下拉列表。当用户从结果列表中选择一个值时,必须执行 ajax 函数。基本任务:通过 Google Maps API 的给定坐标在数据库中查找结果。

由于某种原因,我无法让它工作,当到达脚本时,readyState 变为 4,状态为 200。有什么建议吗?

$('#SearchIn').autocomplete({
    source: // my google maps implementation (which works correctly),

    select: function(event, ui){
        $(this).autocomplete('close');
        $(this).val(ui.item.value);

        $.ajax({
            url:        ABS_BASE + 'ajax/ajax-get-results-from-location.php?data=123',
            success:    function(result) {
                            console.log('success');
                            console.log(result); 
                        },
            error:      function(jqXHR, textStatus, errorThrown) {
                            console.log(jqXHR);
                            console.log(textStatus);
                            console.log(errorThrown);
                        }
        });         
    }
});

更新; errorThrown 是“语法错误”。 textStatus = 'parseerror' 但文件中的唯一内容是:

<?php
    include './ajax-base.php';

    echo 'OK I\'m here!';

有趣的是,来自 jqXHR 的 responseText 是生成的回声。

【问题讨论】:

  • 如果您使用调试控制台,发出的 HTTP 请求的状态是什么?
  • 您是否检查了网络请求以获取有关错误的详细信息?错误的详细信息是什么?
  • 我已经更新了帖子,感谢您与我一起思考。
  • 也许您的包含失败,但您的错误报告模式是静默的?
  • include 没问题,我也在另一个 ajax 调用中使用它,调用的方式与上面发布的完全一样。我糊涂了。 ://

标签: php jquery ajax


【解决方案1】:

我猜你错过了 PHP 的关闭:

<?php
include './ajax-base.php';

echo 'OK I\'m here!';
?>

【讨论】:

  • 不需要关闭 php 标签。
【解决方案2】:

啊,我发现了错误。在我的 ajax-base.php 文件中,我设置了一个内容类型为 application/json 的标题。这导致了我的错误。

【讨论】:

    猜你喜欢
    • 2010-12-23
    • 2015-09-11
    • 1970-01-01
    • 2019-04-13
    • 1970-01-01
    • 2021-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多