2011-04-25 3 views
0

게시물을 통해 json 개체를 보내야하는데 제대로 작동하지 않습니다. 성공적으로 반환하지만 응답이 비어 있고 내가 시도 일이POST를 통해 JSON을 보내고 응답을 얻는 데 도움이 필요합니다.

new Ajax.Request("http://twittersentiment.appspot.com/api/bulkClassifyJsonRequests", { 
method: "post", 
postBody:JSONstring, 
onSuccess: function(transport){ 
var response = transport.responseText; 
alert("[email protected] \n" + transport.responseText + "no response"); 
}, 
onFailure: function(){alert("try again")} 
}); 

var http = new XMLHttpRequest(); 
http.open("POST","http://twittersentiment.appspot.com/api/bulkClassifyJsonRequests",true); 
http.onreadystatechange = function() { 
if(http.readyState == 4) 
{ 
    if(http.status == 200) 
    { 
     document.write(http.response.data); 
} 
else 
{ 
    alert(http.statusText); 
} 
} 
}; 
http.send(JSONstring); 

답변

0

Same Origin Policy은 해당 호출이 발생하는 것을 차단합니다. 그 사이에 프록시 서버를 설치하여 출력을 AJAX 스크립트로 리턴 할 수 있습니다. 자세한 내용은 Why You Need a Proxy을 참조하십시오.

+1

도대체? 방금 저와 같은 대답을 올렸고 동일한 기사에 링크를 걸었습니다. –

+0

34 분 복사 파스타 –

+0

@Drackir - Wikipedia로 알려진 서비스가 있습니다. Google로 알려진 다른 서비스가 있습니다. Google은 모든 것을 검색하는 데 사용됩니다. Wikipedia는 모든 정보 저장소와 같습니다. Google에서 무언가를 검색 할 때 나타나는 대부분의 링크는 위키 백과에서 가져온 것입니다. 따라서 동일한 링크. 그건 그렇고, 당신의 상향 조판 중 하나가 내거야. 천만에요! – Anurag

3

문제를 이유를 알아낼 수 있도록 내가 당신이를 보내려고한다는 것입니다있다 도메인 간 요청 (same origin policy을 위반). 이것은 보안상의 문제이며 브라우저에서는 허용되지 않습니다. twittersentiment.appspot.com에서 JSONP 옵션을 제공하는 경우 대신 활용할 수 있습니다. 그렇지 않으면 웹 사이트 또는 유사한 아이디어를 통해 프록시를 조사해야합니다.


참고 : 이것은 AJAX 사용에만 적용됩니다. 또한 api docs을 살펴본 후 JSONP를 "분류 서비스"로 지원하는 것으로 보입니다. 아마도 "Bulk Classification Service (JSON)"와 함께 사용할 수도 있습니까?

관련 문제