我有一个奇怪的问题,我试图谷歌,但无法找到这种行为的原因。AJAX阻止初始页面加载
你点击一个链接之前,把萤火虫或Chrome网络选项卡
问题上: 我最初的Ajax请求阻止我的网站的第一个负载..它只是开始后刷新工作。
http://vetosports.com/designer/index.html
你可以看到,没有document.ready
和window.load
事件不断发射了第一次加载......只要你刷新页面,一切正常
您可以在网络选项卡看到,它被卡在designhandler.php
...发送请求designhandler.php
的代码是:
var urlFetch = "designhandler.php"
$.ajax({
type: "POST",
url: urlFetch,
dataType: 'json',
cache: false,
data: {
sport: chosenSport
},
success: function(resp){
mainData=resp;
console.log(mainData); // in the console I can see the correct response
var jArr = resp.garments.jersey.designs;
var socArr = resp.garments.socks.designs;
var shoArr = resp.garments.shorts.designs;
for (jID in jArr) {
if (jArr[jID]['default'] == "y") {
globalJID = jID;
}
if (jArr[jID]['featured'] == "y") {
featArr.push(jID);
}
}
for (socID in socArr) {
if (socArr[socID]['default'] == "y") {
globalSocID = socID;
}
}
for (shoID in shoArr) {
if (shoArr[shoID]['default'] == "y") {
globalShoID = shoID;
}
}
fLayers = mainData.garments.jersey.designs[globalJID]['frontLayerCount'];
bLayers = mainData.garments.jersey.designs[globalJID]['backLayerCount'];
}
});
任何想法,我究竟做错了什么?这是一个大问题,我不能这样说。
感谢, 汤姆
我有类似的东西,也没有解决办法:http://stackoverflow.com/questions/16812741/firebug-lite-for-chrome-spoils-hover-effect-and-mouseover - 事件也许你可以找到一个线索...... – k102
你有没有试过看数据缓存时会发生什么?是页面响应导致加载问题所需的时间长度? –
您的代码存在一些明显的缓存问题。直到第一次加载时才会设置一些值,并在刷新后进行设置。刚刚确认它在您的网页上尝试Cntrl + F5。 –