2011-12-02 2 views
0

JSON 요청을 통해 내 프로젝트에 Yahoo Placefinder를 구현하고 있습니다. 이것은 Chrome/FF/Safari에서는 잘 작동하지만 Internet Explorer (모든 버전)에서는 요청을 다시 보내지 않고 다운로드해야합니다. http://where.yahooapis.com/geocode?location=San+Francisco,+CA&flags=J&appid=yourappidIE에서 Yahoo Placefinder JSON 응답

이것은 내가 내 프로젝트에서 사용하고 코드의 일부이다 -

Placefinder API의 표준 JSON의 requset 같은 문제를 갖고있는 것 같아요.

$.ajax({ 
type: "GET", 
dataType: "json", 
cache: false, 
url: "http://where.yahooapis.com/geocode?location="+ address+ ","+ postcode+ "+UK&flags=J&appid=yourappid",..... 

IE가이 파일을 다운로드하려고하는 이유는 무엇입니까? 다른 브라우저와 동일한 방식으로 요청을 보내는 방법에 대한 아이디어가 있습니까?

미리 감사드립니다.

답변

0

IE에서 JSON 및 웹 서비스를 사용하는 경우 가장 좋은 방법은 요청 URL을 먼저 인코딩하는 것입니다. 당신은 할 수있는 그 자바 스크립트 기능 간단한 :

SAMPLEURL = 에 encodeURIComponent (주소 + ","+ 우편 번호 + "+ 영국 & 플래그 = J & APPID = yourappid");

다음 호출에 SAMPLEURL 매개 변수를 사용

$ 아약스 ({

유형 : "GET"

dataType와 "JSON"

캐시 : 거짓 ,

url : "http://where.yahooapis.com/geocode?location="+ sampleUrl

});

좋습니다.

+0

응답 해 주셔서 감사합니다. 그러나이 인코딩은 & flags = J 매개 변수 (JSON 응답을 사용 가능으로 함)를 무시하고 다시 XML 형식으로 변환하는 것으로 보입니다. 여기에 URL이 생성 된 것 - http://where.yahooapis.com/geocode?location=14a%20wyclioffe%2Cbh9%201jp%2BUK%26flags%3DJ%26appid%3D[appid]%26gflags%3DL&_=1322830795719 하나를 제안? 감사합니다. – Ben

+0

귀하의 appid 매개 변수를 corect 값으로 설정해야합니다. 귀하의 경우에는 1322830795719입니다. 예를 볼 수 있습니다 : http://where.yahooapis.com/geocode?location=San+Francisco,+CA&flags=J&appid=1322830795719 및 encodeURIComponent를 사용하십시오. – ranko85gmx