我有一個奇怪的問題,我試圖谷歌,但無法找到這種行爲的原因。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。 –