ajax请求的响应在我的本地环境和我的实时服务器

时间:2015-06-24 14:25:01

标签: php mysql ajax json responsetext

在我的本地环境中,我的ajax响应是一个json对象,它只包含我从sql数据库请求的对象及其值对,但是一旦上传到hostgator,响应就会大得多,我的对象只能在响应对象的responseText值。

responseText属性不存在于我的本地环境中,因此直接在我的实时环境中访问它会使我的本地和实时代码不同步,并且在执行更新时可能会导致问题加上responseText是一个包含我的对象的字符串通过//在没有解析和输入的情况下很难访问。

我打算发布这些对象,但除非我重新创建它们并且来自hostgator服务器的响应太大而无法重新创建,否则它们格式不好。相反,我的php脚本是如何返回sql数据的。

    $db = new PDO('mysql:host='.constant('DB_HOST').';dbname='.constant('DB_NAME').';charset=utf8', constant('DB_USER'), constant('DB_PW'));

    $sth = $db->prepare('SELECT `index`, Todays_Date, First_Name, Middle_Name, Last_Name, Telephone, Position  FROM application');
    $sth->execute();

    $result = $sth->fetchAll(PDO::FETCH_ASSOC);

    $row_count = count($result);

    if($row_count > 0){
        echo json_encode($result);
    }else{
        echo "No records found.";
    }

    // ajax call update 
    var listAjax = function() { 
    $.ajax({
        url: "api/listAll.php",
        dataType: "json",
        type: "GET",
        data: {},
    }).done(function(data) {
        buildList(data);
        console.log(data);
    }).fail(function(data) {
        //console.log(data);
    })
}

也许有更好的方法从php返回我的json对象?或者这可能是我遇到的一个常见问题。如果需要从响应对象中查看其他内容,请告诉我。谢谢你的帮助。

更新:添加了ajax代码。确实看到服务器响应文本的响应时间越长,注释失败就没有,但它确实有200状态。试图发布它的图像但是堆栈溢出不会让我失望。以下是响应输出照片的链接: http://i1378.photobucket.com/albums/ah114/Dakota_Hipp/IMG_1158_zps32xytuqx.png

1 个答案:

答案 0 :(得分:1)

每次讨论:

在显示的图像中,有一个//被添加到回显数据的开头,这使得您的JSON无效。您需要在所请求的网址中回溯所包含的文件:url: "api/listAll.php"并移除//以使您的JSON再次生效。