AJAX, чтобы вернуть JSON - Что мне не хватает? - PullRequest
5 голосов
/ 12 июня 2011

Я использую API-интерфейс REST SharePoint 2010, который может возвращать данные в формате xml или JSON. Для моего сценария мне нужен JSON.

Все работает нормально с jQuery:

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

Но я не могу получить JSON в простом JavaScript, данные возвращаются в формате 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 ]

6 голосов
/ 12 июня 2011

Я считаю, что это служба oData WCF под капотом, которая должна учитывать заголовок 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);
0 голосов
/ 12 июня 2011
XHR.setRequestHeader("Content-Type","application/json");

Вы действительно пытаетесь сказать, что отправляете JSON на сервер?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...