gpt4 book ai didi

PHP 意外的输入结束错误

转载 作者:行者123 更新时间:2023-11-29 22:02:52 25 4
gpt4 key购买 nike

我的 PHP 代码应该返回 sql 查询的 json 对象,但它总是抛出错误“意外的输入结束”。我注意到如果我不使用变量 $row 它不会失败。这是代码片段:

PHP:

require("pw.php");

class homework {
public $fach;
public $datum;
public $aufgabe;

public function __construct($fach, $datum, $aufgabe) {
$this->fach = $fach;
$this->datum = $datum;
$this->aufgabe = $aufgabe;
}
}

$connection = mysqli_connect($adrs, $usr, $pw, $db);

if(mysqli_connect_errno()) {
die(json_encode(mysqli_connect_error()));
}

if($_POST["feed"] == "hausaufgaben") {
$query = "SELECT fach, datum, aufgabe FROM hausaufgaben WHERE fachgruppe != '";
if($_POST["fremdsprache"] == "latein") {
$query .= "französisch";
}
else {
$query .= "latein";
}
$query .= "' AND fachgruppe != '";
if($_POST["englisch"] == "koch") {
$query .= "schopper";
}
else {
$query .= "koch";
}
$query .= "' AND datum > '" . date("Y-m-d") . "' ORDER BY datum ASC;";

$result = $connection->query($query);

$data = [];

while($row = $result->fetch_row()) {
array_push($data, new homework($row[0], $row[1], $row[2]));
}

echo json_encode($data);

$result->close();
}

$connection->close();

?>

Jquery:

$.ajax({
type: "POST",
url: "php/getFeed.php",
cache: false,
dataType: "json",
data: {feed: "hausaufgaben", fremdsprache: this.fremdsprache, englisch: this.englisch}
})
.done(function(data) {
alert(typeof(data));
document.getElementById("temp").innerHTML = data;
if(typeof(data) != "Object") {
console.log("Error: " + data);
alert("iwas?");
this.hausaufgabenError = true;
this.hausaufgaben = [];
alert(this.hausaufgaben + "\n\n" + this.hausaufgaben.length);
}
else {
this.hausaufgabenError = false;
this.hausaufgaben = data;
}
})
.fail(function(jqXHR, textStatus, error) {
console.log("error: " + error);
alert("iwas?");
this.hausaufgabenError = true;
this.hausaufgaben = [];
alert(this.hausaufgaben + "\n\n" + this.hausaufgaben.length);
});

我希望有人能帮助我,因为我完全陷入困境:(

编辑:在 Mozilla 中,它会显示错误 SyntaxError: JSON.parse: JSON 数据的第 1 行第 1 列处的数据意外结束。

最佳答案

在 jquery 中,命令 $.parseJSON(''); 会产生您遇到的错误。此外,如果给定 JSON 之外的其他内容,parseJSON 也会同样失败。所以我的猜测是您的 php 页面要么显示错误,不返回任何输出,要么返回与其他输出混合的 JSON。

要做的是:

  • 在浏览器中获取 php 页面,而不是通过 ajax,然后查看输出。

  • 将数据类型更改为文本以进行调试,并使用 console.log 查看实际发送到 JavaScript 代码的内容。

关于PHP 意外的输入结束错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32442330/

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