2012-03-30 97 views
2

我是在IE9的調試模式。我在第一行放置了一個斷點(如下),並打了一個斷點。但是,回調中第一行的斷點從來不會被打中。

在看過Network選項卡後,我看不到對URL的請求(設置爲"http://localhost/PopNote/")。

$.getJSON(
      URL + "messages/getUnreadMessages.json?" + Math.random(), // add random to prevent IE cache 
      { 
       productKey  : this.productKey, 
       listIds   : this.listIds, 
       personEmail  : this.personEmail 
      }, 
      function(data) {  
       if(data.messages.length == 0) return; 

爲什麼請求不被髮送(只在IE中)?

謝謝!

+0

您是否嘗試過附加失敗處理程序以查看您是否獲得任何迴應? – 2012-03-30 16:20:59

+0

您是否正確地結束括號和括號?所有這些變量是否始終啓動?我曾經遇到類似於這種情況的情況,我認爲這是一個兼容性問題,並且事實證明這是一個語法代碼錯誤,無論如何firefox處理請求並且IE沒有。 – DMulligan 2012-03-30 16:21:46

+0

@SteveGreatrex:我如何附加故障處理程序?我在jQuery文檔中沒有看到類似的東西。 – Garrett 2012-03-30 19:07:45

回答

4

HOLY GUACAMOLE!這是一些錯誤!以下是我固定它:

  1. 新增jQuery.support.cors = true;給我的腳本
  2. 新增crossDomain: truedataType: 'jsonp'的開頭我$.ajax選項
  3. 轉換我的JSON代碼JSONP格式,如:

    $_GET['callback'] . '(' . json_encode($data) . ');'

And VOILA!我今天調試過的最難的錯誤。

+0

謝謝!這真的很難調試,甚至很難找到這個問題:P無論如何,我只是添加了crossDomain:true,它的工作 – 2012-10-19 11:10:13

+0

沒有問題:)有人不得不這樣做。 – Garrett 2012-10-20 04:54:55

相關問題