2011-06-12 83 views
5

我正在使用SharePoint 2010 REST API,它可以以xml或JSON格式返回數據。對於我的場景,我需要JSON。AJAX返回JSON - 我錯過了什麼?

一切工作正常使用jQuery:

$.ajax({ 
    type:"GET", 
    url:url, 
    dataType:"json", 
    success: function(data, textStatus, jqXHR){...} 
    }); 

但我不能在普通的JavaScript得到JSON,數據以XML格式返回。我錯過了什麼?

var XHR=new XMLHttpRequest(); 
XHR.open("GET", url, true); 
XHR.setRequestHeader("Content-Type","application/json"); 
XHR.onreadystatechange = function() { 
if (XHR.readyState == 4 && XHR.status == 200) {...}}; 
XHR.send(null); 
+0

打開Chrome開發人員工具中的「網絡」標籤。檢查jQuery請求的HTTP請求標頭,並將它們與執行普通Ajax請求時發送的請求標頭進行比較... – 2011-06-12 15:40:58

回答

6

我相信這是引擎蓋,應該尊重Accept標題下一個WCF OData服務。

var XHR=new XMLHttpRequest(); 
XHR.open("GET", url, true); 
XHR.setRequestHeader("Accept","application/json"); 
XHR.onreadystatechange = function() { 
if (XHR.readyState == 4 && XHR.status == 200) {...}}; 
XHR.send(null); 
+0

就是這樣,謝謝! – Christophe 2011-06-13 00:33:30

0
XHR.setRequestHeader("Content-Type","application/json"); 

你真的想告訴它你發送JSON服務器?

+0

有我的錯誤,我試圖接受json。 – Christophe 2011-06-13 00:31:27

相關問題