gpt4 book ai didi

javascript - $.getJSON 总是失败

转载 作者:行者123 更新时间:2023-11-30 17:29:56 27 4
gpt4 key购买 nike

如果之前有人回答过这个问题,我深表歉意,但我找不到我要找的东西。所以,我使用 $.getJSON 将一些变量发送到 php 文件。该文件将成功返回为真,但由于某种原因总是触发 .fail 函数。

奇怪的是,在我的笔记本电脑上一切正常,只是在大学的电脑上不行。与数据库的连接很好,就像我说的一切正常,它返回所有正确的数据,但不会触发成功函数。

JQuery:

function request_user_review() {

$.getJSON("user_review_list.php", success_user_review).fail(fail_user_review);

}

function success_user_review(response) {
if (response.success) {

var user_review_list = "";
$("#user_reviews .review_cafe").remove();
$("#user_reviews .review").remove();
$("#user_reviews .rating").remove();
$("#user_reviews .review_choice").remove();


for (var i = 0; i < response.rows.length; i++) {
var review_cafe = '<tr id="row_' + response.rows[i].id + '"><td class="review_cafe">'
+ response.rows[i].cafe + '</td>';
var review = '<td class="review">'
+ response.rows[i].review + '</br>Review left: ' + response.rows[i].date + '</td>';
var rating = '<td class="rating">'
+ response.rows[i].rating + '/5</td>';
var review_choice = '<input type="hidden" class="cafe_id" value="' + response.rows[i].cafe_id + '" /><td class="review_choice"><button onclick="request_edit(this.id)" id="edit_' + response.rows[i].id + '" class="btn_edit">Edit</button><button onclick="request_delete_review(this.id)" id="delete_' + response.rows[i].id + '" class="btn_delete">Delete</button></td></tr>';

user_review_list += review_cafe + review + rating + review_choice;
}
$("#user_reviews").html(user_review_list).trigger("create").trigger("refresh");
} else {
$("#review_message").html("Review failed to be loaded!").trigger("create").trigger("refresh");
}
}

function fail_user_review() {
$("#review_message").html("Connection down?").trigger("create").trigger("refresh");
}

PHP:

<?php //user_review_list.php
require_once "sql.php"; //connection to database and query is handled here
require_once "logged_in.php";

error_reporting(E_ALL ^ E_NOTICE);
ini_set('display_errors','On');

$session_id = $_SESSION['userid'][0];

$result = array();
$result['success'] = false;
$query = "SELECT * FROM reviews WHERE user = $session_id;";

if ($result_set = Sql::query($query)) {
$result['success'] = true;
$result['message'] = "Your Reviews" ;
$rows = mysqli_num_rows($result_set);
$result['rows'] = array();
for ($i = 0; $i<$rows; $i++) {
$tmpRow = mysqli_fetch_assoc($result_set);
$php_date = strtotime($tmpRow['date']);
$formatted_php_date = date('M d, Y', $php_date );
$tmpRow['date'] = $formatted_php_date;

$result['rows'][$i] = $tmpRow;
}

} else {
$result['message'] = "Failed to read Reviews" ;
}

print(json_encode($result));

谢谢詹姆斯

最佳答案

您收到的消息意味着您正在尝试解析已经是 JSON 的内容。我之前关于解析 JSON 的声明在这里不会有太大帮助,因为您不仅仅是返回一个需要转换为 JSON 的字符串——您真的不应该使用 $.getJSON()

您将返回一个 JSON,其中某处的编码无效,因此尝试解析它对您没有帮助。使用 jsonlint 首先验证您的 JSON(错误可能是由于机器之间的服务器设置不同) ,然后从那里继续。

关于javascript - $.getJSON 总是失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23342362/

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