Я пытаюсь создать свою собственную инфраструктуру XMLHttpRequest, чтобы узнать, как это работает внутри. Вещь, которая меня озадачивает, заключается в том, что я не могу найти, как поймать исключение «Такое же происхождение».Поймать ту же ошибку происхождения в Javascript?
Идея заключается в том, что я пытаюсь загрузить URL-адрес, если я получаю такое же исключение происхождения, я повторно запрашиваю URL-адрес через прокси-скрипт, локальный для сценария. Причина, по которой я делаю это, - это то, что мне нужно получить данные о производстве из изолированной программной среды, и я хочу, чтобы она была максимально прозрачной для самого скрипта.
Я знаю, что это плохая практика, но это наименее навязчивый способ сделать это на данный момент :)
Просто, чтобы очистить вещи - я не хочу, чтобы обойти такое же происхождение, я просто хочу, чтобы поймать потому что я могу что-то с этим сделать.
Вот код, который я в настоящее время использую для моего XHR:
var net = function (url, cb, setts){
this.url = url;
this.cb = cb;
var oThis = this;
if (!this.xhr) {
this.xhr = new XMLHttpRequest();
this.xhr.onreadystatechange = function() {
if (oThis.xhr.readyState == 4 && oThis.xhr.status == 200) {
document.body.innerHTML += "RS: "+oThis.xhr.readyState+"; ST:"+oThis.xhr.status+"; RP:"+oThis.xhr.responseText+"<br>";
}
else {
// do some other stuff :)
document.body.innerHTML += "RS: "+oThis.xhr.readyState+"; ST:"+oThis.xhr.status+"; RP:"+oThis.xhr.responseText+"<br>";
}
}
}
this.xhr.open("GET", url,true);
this.xhr.send();
} // It's WIP so don't be scared about the unused vars or hardcoded values :)
Я попытался попробовать ... поймать вокруг xhr.send(); но безуспешно, все еще не могут поймать исключения.
Любые идеи или указатели будут очень признательны.
Раздел 3.6.1: «Выдает исключение SECURITY_ERR, если источник url не соответствует происхождению XMLHttpRequest». – Emmett 2010-11-30 21:30:14
Ба, я слепой. Nevermind. – aditya 2010-11-30 21:32:48