2016-11-01 11 views
0

По умолчанию данные, возвращенные из API Sharepoint, закодированы в XML, но я ищу, чтобы вернуть JSON. Я использую jquery для вызова ajax. Я считаю, что это должно быть достигнуто путем передачи заголовка вместе с Ajax запроса как

{ "accept": "application/json; odata=verbose" } 

Я попытался сделать это двумя различными способами.

$.ajax({ 
    url: "url/to/web/api", 
    type: "GET", 
    headers: { "accept": "application/json; odata=verbose"} 
}) 
.done(function(data) { 
}) 

и

function setHeaders(xhr) { 
    xhr.setRequestHeader('accept', 'application/json; odata=verbose') 
} 

$.ajax({ 
    url: "url/to/web/api", 
    type: "GET", 
    beforeSend: setHeaders 
}) 
.done(function(data) { 
}) 

Оба они вернулись XML. Я успешно получил JSON, когда делаю звонок от почтальона и передаю заголовок. Кто-нибудь видит, что я делаю неправильно?

+0

Что такое Sharepoint? – ceejayoz

+0

Это 2007 год, но я использую документацию 2013 года. Звонок почтальона работал, поэтому я думаю, что настройка правильная. –

ответ

0

Вы пытались добавить dataType в ваш запрос?

$.ajax({ 
    url: "url/to/web/api", // <-- also, you had a dot here 
    type: "GET", 
    headers: { "accept": "application/json; odata=verbose"} 
    dataType: "json" // <-- right here 
}) 
.done(function(data) { 
}) 

Update: Я думаю, что ваша реальная проблема в том, что маленькая опечатка (точка вместо запятой).

+0

Ах, извините. Я быстро набрал ответ, прежде чем покинуть работу, чтобы выиграть час пик (нельзя копировать и вставлять с виртуального рабочего стола). Я могу гарантировать отсутствие синтаксических ошибок, вызывающих проблему. –

+0

Вы пробовали свойство 'dataType' в свой запрос' ajax'? – technophobia

0

По this answer нет родной JSON-излучающей конечные точек в SharePoint 2007.

мыла на основе веб-сервисы .asmx только испускают ответы XML.