在我的本地环境中,我的ajax响应是预期的json对象,它只包含我从sql数据库请求的对象及其值对,但一旦上载到hostgator的响应要大得多,我的对象只能在响应对象的responseText值中找到。Ajax请求的响应在我的本地环境和我的活服务器上有所不同
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
您是否检查过以确保AJAX调用没有报告错误?当同样的事情发生在我身上时,我总是得到一个错误。另外发布一些数据可能会很好;不是很多,但足够。 – Twister1002
添加了一个指向响应和ajax调用的控制台输出的链接。奇怪的是,它在我的电脑上运行正常,而且在托管服务器上运行不稳定。 –
好吧,我们需要确保托管的服务器没有问题,所以请继续从该位置进行测试。我想让你试试这个,只是幽默我。在您的AJAX对象中,在数据下方{},我希望您添加两个属性。 '成功:功能(数据){警报(“我有数据”); },'AND'error:function(obj){alert(“Error”+ obj); }'。这应该允许您调试并确定错误来自哪里。你有没有尝试查看输出(通过URL),看看是否有任何显示的错误? (应该比使用AJAX对象更容易找到错误) – Twister1002