2012-06-07 136 views
2

我正在嘗試對api執行JSONP調用,但我不確定API是否支持JSONP不知道如何測試。但下面顯示的是無效標籤的螢火蟲控制檯錯誤。這是否意味着API不支持JSONP在我的調用中這是錯誤的。帶有無效標籤的JSONP調用

這是我對api的調用。我改變了URL,因爲客戶不會高興的我給予了URL

jQuery.getJSON("http://blaa.blaa.com/api/services?format=js&callback=?", 
    function (data) { 
     console.log("services data = ", data); 
    }); 

當我在螢火測試我得到這個 無效標籤

{"services":{"service":[{"name":"tt"... 

servic...2711124 (line 1, col 1) 
+0

如果您向我們提供您正在嘗試的真實JSONP URL或您獲得的完整響應,我們可以判斷它是否返回JSONP。 – jfriend00

回答

2

Invalid label是錯誤你會當你期望作爲JSONP內容(即Javascript代碼)實際上是JSON內容時得到它。

這不是有效的JavaScript,即使它是一個JSON對象:

{'foo' : 'bar'} 

這是因爲{是爲block的開放,而不是一個對象字面處理。然後將'foo'視爲嘗試創建label,其中包含引號標記是無效的。

這實質上是一個神祕的消息,告訴你服務器不理解JSONP,或者你沒有正確地請求它(一些服務器要求超出標準callback=的額外參數)。