在我的本地环境中,我的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
答案 0 :(得分:1)
每次讨论:
在显示的图像中,有一个//
被添加到回显数据的开头,这使得您的JSON无效。您需要在所请求的网址中回溯所包含的文件:url: "api/listAll.php"
并移除//
以使您的JSON再次生效。