AJAX返回JSON - 我错过了什么?

时间:2011-06-12 15:10:55

标签: ajax json sharepoint-2010

我正在使用SharePoint 2010 REST API,它可以以xml或JSON格式返回数据。对于我的场景,我需要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);

2 个答案:

答案 0 :(得分:6)

我认为这是一个WCF oData服务,它应该尊重Accept标题。

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);

答案 1 :(得分:0)

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

您是否真的试图告诉它您正在向服务器发送JSON?