2013-01-16 77 views
0

我創建了一個充當JSON結果的aspx文件。JSON從aspx讀取

Response.Clear() 
Response.ContentType = "application/json; charset=utf-8" 

我有另一個頁面(另一個域),讀取該JSON。但是在調用JSON值時我得到了syntax error: invalid label

$.getJSON("http://a.com/json.aspx?format=json&jsoncallback=?" , function(data) { 

     alert(data); 
    }); 
    } 
+0

你得到了什麼?你的網址工作正確嗎? –

+0

你從哪裏得到錯誤?以及爲什麼你有aspx而不是處理程序 - 使用處理程序來返回結果。 - 你有沒有看到你的線上有兩個'?'。 – Aristos

+0

@Aristos你的意思是一個通用的處理程序? (ashx) – Archer

回答

1

您需要的服務器輸出JSONP, JSON。 JSONP是不同的。 JSONP用於服務器位於不同域然後客戶端時。

JSONP實際上只是一個JavaScript文件,所以它應該與Content-type: text/javascript一起提供。在提供JSONP時,您應該將JSON包裝爲值爲jsoncallback

所以,你的web服務器應該輸出類似於:

jQuery12345({"name":"joe","age":22}) 

哪裏jQuery12345jsoncallback參數的查詢字符串,這將是jQuery的自動設置的值。

$.getJSON("http://a.com/json.aspx?format=json&jsoncallback=?" , function(data) { 
    alert(data); 
}); 

jQuery將自動替換?用的值。

有關JSONP的更多信息:http://en.wikipedia.org/wiki/JSONP

+0

感謝火箭Hazmat,你的答案幫了很多.... –

+0

@ user1891363:不客氣!很高興我能幫上忙 :-) –