1

我正在尝试制作以下 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-script 识别为 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 );
4

0 回答 0