$ .getJSON总是失败

詹姆斯·F

抱歉,如果以前已经回答过,但是我找不到我想要的东西。因此,我使用$ .getJSON将一些变量发送到php文件。该文件将成功返回为true,但是由于某种原因总是触发.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)); 

谢谢詹姆斯

gfish3000

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

您将返回一行中无效编码的JSON,因此尝试解析它将无济于事。首先使用jsonlint验证JSON(错误可能是由于机器之间的服务器设置不同而引起的),然后从那里继续。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

getJSON请求失败

来自分类Dev

getJSON 静默失败

来自分类Dev

Q then()总是调用失败

来自分类Dev

SKPaymentTransaction总是失败

来自分类Dev

UIDocumentInteractionController总是失败

来自分类Dev

AudioRecord总是创建失败

来自分类Dev

CreateFile()总是失败

来自分类Dev

jQuery POST总是失败

来自分类Dev

jQuery Ajax总是失败

来自分类Dev

AudioRecord总是创建失败

来自分类Dev

SKPaymentTransaction总是失败

来自分类Dev

ConfidentialClientApplication AcquireTokenSilentAsync总是失败

来自分类Dev

Mod 或 Predicate 总是失败

来自分类Dev

天气 API 上的 getJSON 失败

来自分类Dev

NODEmcu 总是说明连接失败总是

来自分类Dev

护照“ Hello World”总是失败

来自分类Dev

fileManager.createFileAtPath总是失败

来自分类Dev

npm install firebase总是失败

来自分类Dev

Laravel Task Scheduler总是失败

来自分类Dev

Scipy的griddata方法总是失败

来自分类Dev

由于debconf,postinst总是失败

来自分类Dev

系统服务停止总是失败

来自分类Dev

load-CurrentPlayerLeaderboardScore 总是失败

来自分类Dev

发送短信方法总是失败

来自分类Dev

封装后asserTrue()总是失败

来自分类Dev

在UITableViewCell上调用`[UIView -systemLayoutSizeFittingSize:]`总是失败

来自分类Dev

为什么JUnit Testing异常总是失败?

来自分类Dev

laravel授权@can指令总是失败

来自分类Dev

C套接字编程:recv总是失败