从Ajax调用php-script时出错:XML无效

时间:2013-08-30 15:30:26

标签: php jquery xml ajax get

我正在尝试使用以下jQuery代码来调用我的php脚本:

<html>
<head>
    <script src="parser/js/jquery-1.10.2.js" type="text/javascript"></script>
    <script src="parser/js/jquery-1.9.1.js" type="text/javascript"></script>
    <script type="text/javascript">
        $ (document).ready(function() {
            currCity = "ROME (FCO)";
            $.ajax({
                url: 'parser/php/get_data.php', 
                type: "GET",
                data: currCity, 
                dataType: "json",    
                success: function(array){
                    alert ("AJAX succeeded!");
                },
                error: function(jqXHR, textStatus, errorThrown) {
                    console.log(jqXHR.status + "    " + textStatus);
                    console.log(errorThrown);
                }
            });
        });
    </script>
</head>
<body>
    <div id="test">Text</div>
</body>
</html>

即使我只是使用一个简单的php脚本,就像这个(没有数据类型和成功函数中的回调值):

<?php
   echo "Got here";
?>

我收到了以下错误:

200    parsererror

demo.html (line 17)
Error: Invalid XML: <?php echo "Got here"; ?>

所以这是我试图解决的第一个错误,Ajax似乎将我的php脚本识别为xml。 现在这是我需要运行的实际php脚本。从数据库中提取一些数据,创建一个两级数组来存储它们,然后用JSON将该数组返回给Ajax。

<?php
require 'mysql_login.php';

if (isset($_GET['currCity'])) {
    $str = $_GET['currCity']; 
    echo "Got the value: " + $str;
} 

$db = new mysqli( $mysqlhost, $mysqluser, $mysqlpwd, $airplaneDB) or die ("Connection to database failed".$db->connect_error);
$result = mysqli_query($db, "SELECT * FROM Airplanes ORDER BY time") or die ("Problem retreiving data from database.");

$planes = array();

while ($row = mysqli_fetch_array ($result, MYSQLI_ASSOC)) {
    $flightData = {$row['flightID'], $row['flightLink'], $row['orig'], $row['dest'], $row['time']};
    array_push($planes, $flightData);
}

echo json_encode($planes);
?>

在那里,我似乎无法识别JSON,这是错误:

200    parsererror

demo.html (line 17)
SyntaxError: JSON.parse: unexpected character

return window.JSON.parse( data );

0 个答案:

没有答案