다른 출처와 마찬가지로 동일한 출처 정책이 여기에 있습니다.
그러나 여기 그들이 말하지 않았다 무엇 - 그것을 해결하는 방법 :
$.ajax({
url: "someurl.com",
dataType: "jsonp",
data: {'some key':'somevalue', 'someotherkey':'val'},
success: function(response) { alert(response); },
error: function(jqXHR, textStatus, errorThrown) {
//do some error handling
alert(jqXHR);
alert(textStatus);
alert(errorThrown);
}
});
을 여기에 내가 $.ajax
방법을 사용하고 있습니다 - 기본적으로 $.getJSON
가 dataType:'json'
이에 대한 래퍼입니다.
참고 : 이렇게하면 완전히 무작위 인 "콜백"이라는 매개 변수를 전달하도록 요청이 변경됩니다. 즉
이
요청이 :
someurl.com/?something=something&callback=123456
가 반환해야합니다 :이 서버에서 처리하고 함수 이름으로 다시 전달 될 필요가
123456({ "key":"value"});
그리고 는는 당신이 얻을 수 있도록해야 반환 된 데이터는 정상적으로 처리됩니다.
참조 : JSONP와에서 사용할 수있는 다양한 옵션 $ 아약스 여기에 꽤 좋은에 비트 : http://en.wikipedia.org/wiki/JSONP#Padding
편집 : http://api.jquery.com/jQuery.ajax/
위키 백과는 여기에 확실히 기사가 있습니다 : 이와 같은 요청을하고 오류 함수를 사용하면 콘솔이나 경고 상자에 오류를 던져서 반환 된 JSON이 유효한지 확인할 수 있습니다. 실패시 알림 상자를 표시하도록 수정 된 마크 업입니다.
[동일 출처 정책] (https://en.wikipedia.org/wiki/Same_origin_policy)이 적용됩니다. 외부 도메인에서 JSON을 검색 할 수 없습니다. JSONP이어야합니다. –