[JQUERY] jQuery로 JSONP 요청 아약스 크로스 도메인 확인
JQUERYjQuery로 JSONP 요청 아약스 크로스 도메인 확인
해결법
-
1.당신은 크로스 도메인 AJAX 호출을하려고합니까? 당신의 서비스는 당신의 동일한 웹 응용 프로그램 경로에서 호스팅되지 않은 의미? 귀하의 웹 서비스는 JSONP을하기 위해 방법 주입을 지원해야합니다.
당신은 크로스 도메인 AJAX 호출을하려고합니까? 당신의 서비스는 당신의 동일한 웹 응용 프로그램 경로에서 호스팅되지 않은 의미? 귀하의 웹 서비스는 JSONP을하기 위해 방법 주입을 지원해야합니다.
코드는 잘 보인다 웹 서비스 및 웹 응용 프로그램이 동일한 도메인에서 호스팅되는 경우 작동합니다.
jQuery를 실제로 쿼리 URL에 새 매개 변수를 추가하는 것을 의미한다 'JSONP': 당신은 데이터 유형 달러 (A $)의 아약스을 수행 할 때.
예를 들어, 귀하의 URL이 jQuery를 다음 http://10.211.2.219:8080/SampleWebService/sample.do 경우? 콜백 = {some_random_dynamically_generated_method}을 추가합니다.
이 방법은 실제로 윈도우 객체에 부착 된 프록시의 많은 종류이다. 이것은 아무것도 고유의 것입니다하지만, 같이 뭔가를 수행합니다
window.some_random_dynamically_generated_method = function(actualJsonpData) { //here actually has reference to the success function mentioned with $.ajax //so it just calls the success method like this: successCallback(actualJsonData); }
요약
클라이언트 코드가 잘 보인다. 그러나, 당신은 쿼리 문자열로 전달하는 기능 이름으로 JSON 데이터를 포장하기 위해 서버 코드를 수정해야합니다. 즉
당신은 쿼리 문자열을 요청하는 경우
?callback=my_callback_method
다음, 서버 반드시 응답 데이터는 다음과 같이 포장 :
my_callback_method({your json serialized data});
-
2.당신은 아약스 - 출처 간 플러그인을 사용합니다 : http://www.ajax-cross-origin.com/
당신은 아약스 - 출처 간 플러그인을 사용합니다 : http://www.ajax-cross-origin.com/
그냥 옵션 crossOrigin을 추가 : 사실
$.ajax({ crossOrigin: true, url: url, success: function(data) { console.log(data); } });
-
3.귀하의 JSON 데이터는 속성 데이터를 포함하고 있지만 데이터에 액세스하고 있습니다. 그것은의 대소 문자 구분
귀하의 JSON 데이터는 속성 데이터를 포함하고 있지만 데이터에 액세스하고 있습니다. 그것은의 대소 문자 구분
function jsonparser1() { $.ajax({ type: "GET", url: "http://10.211.2.219:8080/SampleWebService/sample.do", dataType: "json", success: function (xml) { alert(xml.Data[0].City); result = xml.Code; document.myform.result1.value = result; }, }); }
편집 또한시와 코드가 잘못된 경우입니다. (감사 @Christopher 케니)
EDIT2는 또한 JSON, 그리고되지 JSONP한다 (이 경우, 적어도)
https://stackoverflow.com/a/11736771/325836 압둘 Munim의 : UPDATE는 최신 코멘트에 따르면,이 대답을 읽어야합니다
-
4.시험
시험
alert(xml.Data[0].City)
대소 문자 구분!
-
5.당신은 당신의 XML과 함께 JQuery와 JSON 구문 분석 ... 즉 구문 분석 할 필요가
당신은 당신의 XML과 함께 JQuery와 JSON 구문 분석 ... 즉 구문 분석 할 필요가
var parsed_json = $.parseJSON(xml);
-
6.경보 (xml.data [0] .city);
경보 (xml.data [0] .city);
사용 xml.data [ "데이터"] [0] .city 대신
-
7.야후에 의해 호스팅 열린 공개 프록시 YQL을 사용합니다. 핸들의 XML 및 HTML
야후에 의해 호스팅 열린 공개 프록시 YQL을 사용합니다. 핸들의 XML 및 HTML
https://gist.github.com/rickdog/d66a03d1e1e5959aa9b68869807791d5
from https://stackoverflow.com/questions/11736431/make-cross-domain-ajax-jsonp-request-with-jquery by cc-by-sa and MIT license
'JQUERY' 카테고리의 다른 글
[JQUERY] 사용자가 IE를 사용하고 있는지 확인 (0) | 2020.09.28 |
---|---|
[JQUERY] 테이블의 동적 텍스트 상자에 대한 설정 클래스 검증 (0) | 2020.09.28 |
[JQUERY] 캐시되는 정지 jQuery를 .load 응답 (0) | 2020.09.28 |
[JQUERY] 커서가 자바 스크립트를 사용하는 텍스트를 삽입 / JQuery와 (0) | 2020.09.28 |
[JQUERY] JQuery와 UI 날짜 선택기가 비활성화 토요일과 일요일 (공휴일)로 만들 수 있습니다? (0) | 2020.09.28 |