2016-07-30 2 views
0

시간을 많이 써서이 문제를 해결하려고 노력했지만 해결책을 찾지 못했습니다.XML HTTP 요청 Jodel

내 jodelclient 객체 내의 함수입니다. "위치 누락 된 필수 속성"

this.sendPost = function(JodelPost) 
{ 
    var httpRequest = new XMLHttpRequest(); //create new httpRequest 
    httpRequest.onreadystatechange = function (data) //This is the function that gets called when you recieve the server response 
    { 
     console.log(data); //Prints out the server response 
    } 

    var url = 'https://api.go-tellm.com/api/v2/posts/?'; //BaseUrl for jodel api 

    httpRequest.open('POST', url+JSON.stringify(JodelPost)); 
    httpRequest.setRequestHeader('Authorization', 'Bearer ' + this.token); //For a valid authirazation 
    httpRequest.send(); //send it flying! 
}; 

서버의 응답

? "POST https://api.go-tellm.com/api/v2/posts/ 400 (잘못된 요청)"

입니다

JodelPost 변수를 문자열로 변환 한 결과의 예입니다.

{ 
    "color": "FFBA00", 
    "location": { 
     "city": "Uppsala", 
     "country": "46", 
     "loc_accuracy": 0, 
     "loc_coordinates": { 
       "lat": "68.805532", 
       "lng": "2.943903" 
      }, 
     "name": "Uppsala" 
    }, 
    "message": "HelloWorld" 
} 

이 문제를 해결하기 위해이 github 저장소가 파이썬에서 동일한 작업을 수행하고 있음을 발견했습니다. 거기에 유용한 정보 일 수도 있습니다. 사전에

Pydel

감사합니다! 나는 이것에 아주 새롭다 그래서 간단한 설명은 평가된다.

답변

0

요청이 올바르게 작성되지 않은 것처럼 보입니다. URL을 사용하여 데이터를 보내려고하지만 XHR 객체의 send 함수에 전달해야합니다.

또한 상태가 변경 될 때마다 onreadystatechange 함수가 호출되지만 상태가 4이고 상태가 200에 도달하면 데이터를 확인하려고 할 가능성이 큽니다. 자세한 내용은 here을 참조하십시오.

요청에 대한 콘텐츠 형식 헤더를 설정해야 할 수도 있습니다. 이 같은

시도 뭔가 :

this.sendPost = function(JodelPost) 
{ 
    var httpRequest = new XMLHttpRequest(); //create new httpRequest 
    httpRequest.onreadystatechange = function() 
    { 
     if (xhttp.readyState == 4 && xhttp.status == 200) 
     { 
      console.log(httpRequest.responseText); 
     } 
    } 

    var url = 'https://api.go-tellm.com/api/v2/posts/?'; //BaseUrl for jodel api 

    httpRequest.open('POST', url); 
    httpRequest.setRequestHeader('Authorization', 'Bearer ' + this.token); 
    httpRequest.setRequestHeader("Content-Type", "application/json;charset=UTF-8"); 
    httpRequest.send(JSON.stringify(JodelPost)); 
}; 
+0

너무 감사합니다! – Shroom

+0

당신을 진심으로 환영합니다. 즐거운 프로그래밍! – stevenelberger