글쎄, getfile은 SYSTEM에서 파일을 가져 오는 데 사용할 수 있지만 site/t.txt는 어떻게 다운로드합니까?외부 URL에서 변수로 파일을 다운로드하려면 어떻게해야합니까?
나는 정말로 그것을 발견 할 수 없었고, 내가 찾은 것은 유용하지 않다. 이전에 물어 보면 리다이렉트 해주세요.
글쎄, getfile은 SYSTEM에서 파일을 가져 오는 데 사용할 수 있지만 site/t.txt는 어떻게 다운로드합니까?외부 URL에서 변수로 파일을 다운로드하려면 어떻게해야합니까?
나는 정말로 그것을 발견 할 수 없었고, 내가 찾은 것은 유용하지 않다. 이전에 물어 보면 리다이렉트 해주세요.
XMLHTTPRequest를 사용하는 최신 브라우저에서는 사용자의 요구 사항이 매우 간단합니다. 예를 들어 :
function load(url, callback) {
var xhr = new XMLHTTPRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) callback(xhr.responseText);
};
xhr.open("GET", url, true);
}
load("site.com/t.txt", function (contents) {
// contents is now set to the contents of "site.com/t.txt"
});
그러나 Internet Explorer가 대신하는 XMLHTTPRequest의 ActiveXObject를 사용하기 때문에 조금 더 많은 코드가 필요 Internet Explorer를 전체 브라우저 호환성을 보장합니다.
function createXHR() {
if (typeof XMLHTTPRequest === "undefined") {
if (createXHR._version) return new ActiveXobject(createXHR._version);
else {
var versions = [
"Micrsoft.XMLHTTP",
"Msxml2.XMLHTTP",
"Msxml2.XMLHTTP",
"Msxml2.XMLHTTP.3.0",
"Msxml2.XMLHTTP.4.0",
"Msxml2.XMLHTTP.5.0",
"Msxml2.XMLHTTP.6.0"
];
var i = versions.length;
while (--i) try {
var v = versions[i], xhr = new ActiveXObject(v);
createXHR._version = v;
return xhr;
} catch {}
}
} else return new XMLHTTPRequest();
}
function load(url, callback) {
var xhr = createXHR();
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) callback(xhr.responseText);
};
xhr.open("GET", url, true);
}
대신 jQuery와 같은 라이브러리를 사용하는 것이 좋습니다. 자세한 내용은
이 XMLHTTPRequest의 이름을 XMLHttpRequest로 지정해야합니다. –
동일 원산지 정책에 반대하지 않는 한 매우 쉽습니다. 이 경우 foo.com의 페이지에 스크립트가 포함되어 있고 subdomain.foo.com/*이 아닌 foo.com/* 파일을 요청하면 도메인이 일치합니다.
파일에 대해 XMLHttpRequest
과 함께 GET 요청을하고 응답에서 파일 내용을 읽는 것만으로 충분합니다.
파일이 foo.com에 있지만 페이지가 아닌 경우 foo.com에서 스크립트를 호스팅 한 다음이 페이지에 <script src="foo.com/filerequestscript.js"></script>
과 함께 포함시켜야합니다. (물론 foo.com을 통제하지 않으면 일어날 가능성은 희박합니다.)
스크립트 요소를 사용하여'.txt' 파일을 가져올 수 없으며 CORS를 사용하는 경우 XHR로 여러 도메인에서 파일을 가져올 수 있습니다. – Quentin
어떻게 아약스와 GET 요청에 대한? – MightyPork
그렇지 않습니다. Javascript는 동일한 원산지 정책을 가지고 있습니다! – adeneo
나는 서버 측 스크립트가 필요하다고 생각한다. – putvande