gpt4 book ai didi

javascript - PHP 文件通过 AJAX 仅发送 "parsererror"

转载 作者:行者123 更新时间:2023-12-03 06:53:27 24 4
gpt4 key购买 nike

解决方案:在与 @skobaljic 进行 teamviewer session 后,他发现我实际上并没有在 localhost 中打开 html,而是使用文件系统(如 file://...)。对于这样浪费大家的时间,我深表歉意。

我试图通过 Ajax 发送一些 php 数组并将它们打印出来,尽管收到 200 OK 响应,但收到的 html 中没有实际效果。状态文本显示“parsererror”。

文件如下:

<!DOCTYPE html>
<html>
<head>
<title>Page Title Woo!</title>
<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js'></script>
</head>
<body>

<h1>Heading</h1>
<p>Paragraph.</p>


<ul></ul>

<script type='text/javascript'>
$(document).ready(function(){

$.getJSON('DbGetter.php', function(data) {


console.log(data);
$.each(data, function(key, array) {
$('ul').append('<li id="' + key + '">'
+ array.longitude + ' '
+ array.latitude + '</li>');
});
})
.fail(function(error) {
console.log(error);
});

});
</script>
</body>
</html>

和 php:

<?php
$servername = "localhost";
$username = "testuser";
$password = "password";
$dbname = "Locations";

header('Content-Type: application/json');

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT * FROM places";
$result = $conn->query($sql);

if ($result->num_rows > 0) {

//declare associative array
$array = array();
$num = 0;

// output data of each row
while($row = $result->fetch_assoc()) {

//store them in an array
$place = array(
'id' => $row["id"],
'latitude'=> $row["latitude"] ,
'longitude'=> $row["longitude"],
'place_name' => $row["place_name"],
'country_code'=> $row["country_code"],
'postal_code'=> $row["postal_code"]);


/*
echo "Coordinates: " . $row["latitude"]. " " . $row["longitude"]. " - Name: " . $row["place_name"]. " " . "<br>";
*/

//building the second associative array
$array[$num] = $place;
$num += 1;

}

echo json_encode($array);
} else {
echo json_encode("0 results");
}
$conn->close();
?>

我尝试通过 firebug 查看该值,但要么我是瞎子,要么它没有存储在 DOM 中的任何位置。一般来说,我对 Web 应用程序还很陌生,所以我不知道如何调试它。

单独运行 php 我得到:[{"id":"1","latitude":"57.0502","longitude":"9.9173","place_name":"1000fryd","c‌国家代码":"DK","邮政编码":"9000"},{"id":"2","纬度":"58.0502","经度‌​":"10.9173","place_name":"same_place","country_code":"DK","postal_code":"9000"}]这是我期望的 2 行。

也没有 Firebug 标记的 XHR 请求。

最佳答案

你没有在这里编码有效的 JSON.. 如果你尝试使用 JQuery 的 $getJSON ,这会给你一个“解析错误”。请注意JQuery Ajax Source从第 275-281 行开始。

echo json_encode("0 results");

您可能可以将其更改为:

echo json_encode(["0 results"]);

关于javascript - PHP 文件通过 AJAX 仅发送 "parsererror",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37398102/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com