0

我正在尝试在选择事件上执行 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 是产生的回声。

4

2 回答 2

1

啊,我发现了错误。在我的 ajax-base.php 文件中,我设置了一个带有 contenttype 的标题application/json。这导致了我的错误。

于 2012-10-26T18:42:38.873 回答
1

我猜你错过了 PHP 的关闭:

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

echo 'OK I\'m here!';
?>
于 2012-10-26T18:19:26.827 回答