2016-11-01 7 views
0

기본적으로 Sharepoint API에서 반환되는 데이터는 XML로 인코딩되지만 JSON을 다시 얻으려고합니다. jquery를 사용하여 아약스 호출을 사용하고 있습니다. 나는 이것이 아약스 요청과 함께 헤더를 넘겨줌으로써 이루어져야한다고 생각한다.

{ "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을 돌아왔다. postman에서 전화를 걸고 헤더를 전달할 때 JSON을 성공적으로 가져 왔습니다. 내가 잘못한 것을 누군가 볼 수 있습니까?

+0

어떤 셰어 포인트 버전입니까? – 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) { 
}) 

업데이트

: 나는 당신의 진짜 문제라고 생각 그 작은 오타 (대신 쉼표 점).

+0

아 죄송합니다. 러시아워를 이기기 위해 일하기 전에 (가상 데스크톱에서 복사하여 붙여 넣을 수 없음) 신속하게 답변을 입력하고있었습니다. 문제를 일으키는 구문 오류가 없음을 보장 할 수 있습니다. –

+0

'ajax' 요청에'dataType' 속성을 시도 했습니까? – technophobia

0

this answer에 따라 SOAP 기반이 .asmx 웹 서비스는 XML 응답을 방출 셰어 포인트 2007

에서 네이티브 JSON 발광 엔드 포인트가 없습니다.