당신은 http://www.google.com/...
같은 절대 URL로 XMLHttpRequest
을 사용할 수 없습니다.
브라우저가 cross-site scripting을 방지합니다. 상대 경로를 사용해야합니다. 그렇지 않으면 대부분의 브라우저에서 빈 responseText
만 반환합니다.
한 가지 가능한 해결 방법으로, 매우 간단한 reverse proxy (Apache에있는 경우 mod_proxy 사용)을 설정할 수 있습니다. 이렇게하면 HTTP 서버가 "원격"위치에 대한 프록시 역할을하는 동안 AJAX 요청에서 상대 경로를 사용할 수 있습니다.
mod_proxy에 역방향 프록시를 설정하는 기본 구성 지정 문은 ProxyPass입니다. 다음과 같이 일반적으로 사용합니다 :
ProxyPass /ajax/ http://www.google.com/search
를이 경우, 브라우저는 /ajax/?hl=en&source=hp&q=test
를 요청하지만 실제로 서버가 http://www.google.com/search?hl=en&source=hp&q=test
에 대한 프록시 역할을하여이 서비스를 제공 할 것입니다.
IIS를 사용하는 경우 Managed Fusion URL Rewriter and Reverse Proxy을 사용하여 역방향 프록시를 설정할 수 있습니다.
그래서 동일한 서버에만있는 상대 URL은 무엇입니까? 내 바탕 화면에서 로컬 파일을 사용할 수 있습니까 (예 : 읽기)? – dotnetdev
기본적으로 예입니다. 파일은 제공된 w3schools 예제의 파일과 같은 상대 URL로 액세스해야합니다. 그러나 리버스 프록시를 사용하여 가능한 해결 방법에 대한 내 업데이트 된 답변을 확인하십시오. –
좋은 답변입니다. 한 가지 : 로컬 브라우저에서 페이지를 실행해도 같은 폴더에있는 파일로 작업 할 수 있습니까? 지역에서만. 오늘이 시도했지만 0 (기본적으로 채워진 .txt 파일을 읽습니다). – dotnetdev