我在那裏一個jQuery $.getJSON
/$.ajax call
是由一個普通的JavaScript window.location = 'http://new.com/'
事件打斷了奇怪的情況。
火災事件
window.location = 'http://example.com/something-that-takes-a-couple-seconds';
- 雖然上面的URL連接,但瀏覽器之前實際重繪什麼,讓一個
$.getJSON
電話。在我的情況下,我碰巧通過滾動到頁面底部來觸發此事件(加載更多結果)。 - 而不是實際要
http://example.com/something-that-takes-a-couple-seconds
,而不是連接到JSON URLhttp://example.com/ajax/getJSONList.php?params=...
,看到了純文本JSON結果集。
之前任何人有這個問題?
我想一個很簡單的解決辦法就是阻止所有進一步的JavaScript執行後,我火window.location
改變任何必要的手段嗎?
編輯:您可以看到代碼在這裏的行動:http://myscubadives.com/,但它不會是特別有趣涉水通過。
重現:首先,使用右上角的Facebook登錄按鈕。登錄到Facebook,並允許我的網站訪問。一旦Facebook位連接,下面的行會運行:location.replace('/ user/facebook'); - 我試過location.replace(),location.href,window.location。所有問題都一樣。
現在,當'/ user/facebook'正在連接時,快速滾動到頁面底部。這將激發getJSON調用。而不是擊中'/ user/facebook',您將看到RAW JSON。
如果沒有人能夠以這種方式幫助我,我會嘗試製作一個示例頁面,其中包含所有其他內容。
還有其他的事情在這裏,你不應該在這種情況下看到原始的JSON。你可以發佈代碼嗎? – 2011-03-22 07:29:30
添加評論時請訪問違規頁面並重新鏈接。 – Sam 2011-03-22 07:48:32
不是,在Chrome/FF中每次嘗試約10次。什麼瀏覽器? – 2011-03-22 07:53:44