2011-02-16 4 views
0

에 문제 1.5 리드를 jQuery를합니다) { alert (data.someobj); // 데이터를 사용하여 작업 수행 } );업그레이드는 다음과 같이 내 현재 코드의 일부가 .getJSON

url http://cross.subdomain.url.com은 json을 반환합니다.

jquery 1.4.4에서는 완벽하게 작동합니다.

jquery 1.5로 업데이트하면 작동이 중지되었습니다.

나는 같은 다음과 같은 변화를 시도했다 :

  1. 는 JSON으로 데이터 유형을 변경.
  2. "콜백 추가 하시겠습니까?" 쿼리에.

누군가 jquery ajax 개체의 동작 방식을 밝힐 수 있습니까?

감사합니다.

답변

0

이 문제는 서버 쪽에서 콘텐츠 형식이 json으로 설정되지 않은 경우에도 발생합니다. 다음을 수행 서버 측에 이 문제 해결 :

  1. response.setContenyType ("텍스트/JSON을");
  2. 응답.setHeader ("액세스 제어 허용 원본", "*");
1

데이터를 JSONP로 제공해야합니다.

그래서 오히려 쿼리 문자열 매개 변수 callback=myfunction가 포함 된 URL에 대한 요청에 대한 응답으로, 서버 측에서 {"happy":"yes"}을 돌아보다, 함수에 싸여, JSON, 당신은 응답으로 myfunction({"happy":"yes"})를 생성합니다.

이전 버전의 Jquery에서 마스크 된 것일 수 있으며 응용 프로그램이 일부 브라우저 (예 : Chrome)에서 작동하지 않을 수 있습니다.

1

이것은 버그이며 1.5.1에서 수정되었습니다. 티켓 http://bugs.jquery.com/ticket/8125를 참조하십시오, 당신은 getJSON에 대한 jQuery를 문서 페이지가 보여 http://code.jquery.com/jquery-git.js

+0

로컬 파일에 대한 링크가 있다는 버그가 있습니다. 다른 하위 도메인에 대한 링크와 다른 점은 무엇입니까 ?? – Neeraj

+0

나는 야간 빌드를 git에서 가져 와서 시도했다. 같은 문제. – Neeraj

+0

@ Neeraj 나는 당신과 같은 문제가 있었는데, 어떻게 해결 했는가. 1.4.4에서 작동하는 코드가 1.5가 아니라 1.4에서 작동하지 않아야합니다. 이 문제를 확인하기 위해 jQuery.com에서 버그 티켓을 열 수 있습니다. 그들은 꽤 빨리 대답합니다. – Hussein

0

에서 날짜 수정까지와 최신 jQuery를 자료를 찾을 수있는합니다 (Additional Notes 섹션에서) 다음

인해 브라우저 보안에 제한, 대부분의 "Ajax"요청은 동일한 출처 정책 인 의 영향을받습니다. 요청은 데이터를 다른 도메인, 하위 도메인 또는 프로토콜에서 성공적으로 검색 할 수 없습니다.

해당 정책을 위반 한 것 같습니다.