<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=416440&amp;view=findpost&amp;p=3817030</guid>
        <pubDate>Tue, 17 Dec 2019 14:35:10 +0000</pubDate>
        <title>Cross domain ajax запрос и response status</title>
        <link>https://forum.sources.ru/index.php?showtopic=416440&amp;view=findpost&amp;p=3817030</link>
        <description><![CDATA[Wound: Вот кстати такая же проблема: <a class='tag-url' href='https://stackoverflow.com/questions/2000609/why-is-ajax-returning-http-status-code-0' target='_blank'>https://stackoverflow.com/questions/2000609...p-status-code-0</a><br>
Вот ему ответили:<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '><br>
In my experience, you&#39;ll see a status of 0 when:<br>
<br>
    <strong class='tag-b'>doing cross-site scripting (where access is denied)</strong><br>
    requesting a URL that is unreachable (typo, DNS issues, etc)<br>
    the request is otherwise intercepted (check your ad blocker)<br>
    as above, if the request is interrupted (browser navigates away from the page)<br>
</div></div><br>
У меня судя по всему первый вариант, но я не понимаю почему. Норм ошибка при кросс доменных запросах не возвращается? <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2019-12-17T17:41:01+03:00">17.12.19, 14:41</time></span></span><br>
Ладно, попробую еще с fetch поиграться, может быть я на скорую руку не то написал, но сдается мне этот статус не случайно 0, возможно это какая то CORS защита от инвентаризации при кроссдоменной посылке запросов. Ну типа чтоб не изучали коды ошибок. Уже привык что тут на любой чих какие то ограничения стоят, то всякие CORS, то Antiforgery токены, то еще какая то штука всплывет  :D .]]></description>
        <author>Wound</author>
        <category>JavaScript, DOM/DHTML</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=416440&amp;view=findpost&amp;p=3817029</guid>
        <pubDate>Tue, 17 Dec 2019 14:33:31 +0000</pubDate>
        <title>Cross domain ajax запрос и response status</title>
        <link>https://forum.sources.ru/index.php?showtopic=416440&amp;view=findpost&amp;p=3817029</link>
        <description><![CDATA[Serafim: Потому что ты используешь XHR, по-этому и пишется что-то странное. Я же говорю - это устаревшее API.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=416440&view=findpost&p=3817028'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Wound &#064; <time class="tag-quote__quoted-time" datetime="2019-12-17T14:28:04+00:00">17.12.19, 14:28</time></span><div class='quote '>Да 504.<br>
У меня просто есть тулза, которая висит на localhost, к ней делаются запросы. Так вот, эта тулза может быть не установлена или там вырублена, при посылке запроса на контроллер этой тулзы, хотелось бы как то определять что за ошибка случилась - например там тулза отвалилась, и ошибка 504, или может быть там какая то другая ошибка произошла, например там 401. Но сейчас у меня возвращается тупо 0.</div></div><br>
Тут проблема, т.к. 504 возвращается (обычно) без нужных хедеров.]]></description>
        <author>Serafim</author>
        <category>JavaScript, DOM/DHTML</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=416440&amp;view=findpost&amp;p=3817028</guid>
        <pubDate>Tue, 17 Dec 2019 14:28:04 +0000</pubDate>
        <title>Cross domain ajax запрос и response status</title>
        <link>https://forum.sources.ru/index.php?showtopic=416440&amp;view=findpost&amp;p=3817028</link>
        <description><![CDATA[Wound: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=416440&view=findpost&p=3817026'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Serafim &#064; <time class="tag-quote__quoted-time" datetime="2019-12-17T14:19:53+00:00">17.12.19, 14:19</time></span><div class='quote '>Ну так это проблема сервера, 504 кажись, не?</div></div><br>
Да 504.<br>
У меня просто есть тулза, которая висит на localhost, к ней делаются запросы. Так вот, эта тулза может быть не установлена или там вырублена, при посылке запроса на контроллер этой тулзы, хотелось бы как то определять что за ошибка случилась - например там тулза отвалилась, и ошибка 504, или может быть там какая то другая ошибка произошла, например там 401. Но сейчас у меня возвращается тупо 0. <br>
<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=416440&view=findpost&p=3817026'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Serafim &#064; <time class="tag-quote__quoted-time" datetime="2019-12-17T14:19:53+00:00">17.12.19, 14:19</time></span><div class='quote '>А ещё, как бы для CORS отправляются два запроса:<br>
1) OPTIONS с получением креденшеналов на доступ к внешнему ресурсу (анализ Cross Origin Policy заголовков)<br>
2) POST с вызовом и данными.<br>
<br>
Т.е. на корсах отсекается по первому запросу к серверу и данные не отсылаются никуда.</div></div><br>
CORS настроен нормально все, прикрутили авторизацию, сначало шлется OPTIONS с кредами, потом уже тот что нужен. С этим проблем нет. Проблема вот с обработкой ошибок, причем на стороне JS, никак победить его не могу  :-? <br>
<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=416440&view=findpost&p=3817026'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Serafim &#064; <time class="tag-quote__quoted-time" datetime="2019-12-17T14:19:53+00:00">17.12.19, 14:19</time></span><div class='quote '>А это уже 403 и опять же сервер.</div></div><br>
Да сервер, я его специально вырубил и шлю запросы в никуда по сути, пытаясь получить вменяемую ошибку. Вот как то можно получить эту ошибку? <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2019-12-17T14:31:19+00:00">17.12.19, 14:31</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=416440&view=findpost&p=3817026'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Serafim &#064; <time class="tag-quote__quoted-time" datetime="2019-12-17T14:19:53+00:00">17.12.19, 14:19</time></span><div class='quote '>Когда CORS - в консольке пишется, мол запрещён доступ по причине ХХХ и ошибка содержит кейворд &quot;CORS&quot;.<br>
<br>
Типа такого (нагуглил): Прикреплённый файл0_bI2yxKryqJzyUkud.png (152,88 Кбайт, скачиваний: 3)</div></div><br>
А у меня почему то пишется:<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '><br>
SCRIPT7002: XMLHttpRequest: Сетевая ошибка 0x80070005, Отказано в доступе.<br>
</div></div><br>
Или вот например что пишет Chrome:<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '><br>
:5001/api/Token/ChangeName:1 Failed to load resource: net::ERR_NETWORK_ACCESS_DENIED<br>
</div></div>]]></description>
        <author>Wound</author>
        <category>JavaScript, DOM/DHTML</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=416440&amp;view=findpost&amp;p=3817026</guid>
        <pubDate>Tue, 17 Dec 2019 14:19:53 +0000</pubDate>
        <title>Cross domain ajax запрос и response status</title>
        <link>https://forum.sources.ru/index.php?showtopic=416440&amp;view=findpost&amp;p=3817026</link>
        <description><![CDATA[Serafim: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Gateway timeout</div></div><br>
<br>
Ну так это проблема сервера, 504 кажись, не? <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2019-12-17T14:21:28+00:00">17.12.19, 14:21</time></span></span><br>
А ещё, как бы для CORS отправляются два запроса:<br>
1) OPTIONS с получением креденшеналов на доступ к внешнему ресурсу (анализ Cross Origin Policy заголовков)<br>
2) POST с вызовом и данными.<br>
<br>
Т.е. на корсах отсекается по первому запросу к серверу и данные не отсылаются никуда. <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2019-12-17T14:22:46+00:00">17.12.19, 14:22</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=416440&view=findpost&p=3817022'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Wound &#064; <time class="tag-quote__quoted-time" datetime="2019-12-17T14:06:48+00:00">17.12.19, 14:06</time></span><div class='quote '>сам браузер мне даже возвращает Access Denied</div></div><br>
А это уже 403 и опять же сервер.<br>
<br>
Когда CORS - в консольке пишется, мол запрещён доступ по причине ХХХ и ошибка содержит кейворд &quot;CORS&quot;. <br>
<br>
Типа такого (нагуглил): <span class="b-attach" data-size="156546" data-hits="540" data-attach-id="61225" data-attach-post-id="3817026">
			<span class="b-attach__title"></span><a class='b-attach-link' href='https://forum.sources.ru/index.php?act=Attach&amp;type=post&amp;id=3817026&amp;attach_id=61225' title='Скачать файл' target='_blank'>0_bI2yxKryqJzyUkud.png</a> (, : 540)
		</span>]]></description>
        <author>Serafim</author>
        <category>JavaScript, DOM/DHTML</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=416440&amp;view=findpost&amp;p=3817022</guid>
        <pubDate>Tue, 17 Dec 2019 14:06:48 +0000</pubDate>
        <title>Cross domain ajax запрос и response status</title>
        <link>https://forum.sources.ru/index.php?showtopic=416440&amp;view=findpost&amp;p=3817022</link>
        <description><![CDATA[Wound: Проверил с fetch&#39;eм, летит исключение, но оно пустое :&#39;( <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2019-12-17T14:07:42+00:00">17.12.19, 14:07</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=416440&view=findpost&p=3817020'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Serafim &#064; <time class="tag-quote__quoted-time" datetime="2019-12-17T14:02:42+00:00">17.12.19, 14:02</time></span><div class='quote '>Но вообще такого браузера давно нет в живых (последний релиз в 2013ом году был) =)</div></div><br>
В Windows Server 2016 стоит по умолчанию IE , и другого там нет  :yes-sad: <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2019-12-17T14:09:23+00:00">17.12.19, 14:09</time></span></span><br>
Просто вся фишка в том, что сам браузер мне даже возвращает Access Denied, причем любой, IE/Chrome/FF/Edge<br>
Я отловил запрос с помощью Fidler, он не распознал его статус, а через пару минут у себя выдал ошибку Gateway timeout. Это уже по сути тогда, когда я результат в ajax получил и забыл про него.]]></description>
        <author>Wound</author>
        <category>JavaScript, DOM/DHTML</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=416440&amp;view=findpost&amp;p=3817020</guid>
        <pubDate>Tue, 17 Dec 2019 14:02:42 +0000</pubDate>
        <title>Cross domain ajax запрос и response status</title>
        <link>https://forum.sources.ru/index.php?showtopic=416440&amp;view=findpost&amp;p=3817020</link>
        <description><![CDATA[Serafim: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=416440&view=findpost&p=3817019'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Wound &#064; <time class="tag-quote__quoted-time" datetime="2019-12-17T14:00:04+00:00">17.12.19, 14:00</time></span><div class='quote '>А в IE fetch api поддерживается?</div></div><br>
Через полифиллы, да.<br>
<br>
Но вообще такого браузера давно нет в живых (последний релиз в 2013ом году был) =) <br>
<br>
P.S. <br>
1) <a class='tag-url' href='https://caniuse.com/#feat=fetch' target='_blank'>https://caniuse.com/#feat=fetch</a><br>
2) <a class='tag-url' href='https://github.com/github/fetch' target='_blank'>https://github.com/github/fetch</a>]]></description>
        <author>Serafim</author>
        <category>JavaScript, DOM/DHTML</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=416440&amp;view=findpost&amp;p=3817019</guid>
        <pubDate>Tue, 17 Dec 2019 14:00:04 +0000</pubDate>
        <title>Cross domain ajax запрос и response status</title>
        <link>https://forum.sources.ru/index.php?showtopic=416440&amp;view=findpost&amp;p=3817019</link>
        <description><![CDATA[Wound: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=416440&view=findpost&p=3817018'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Serafim &#064; <time class="tag-quote__quoted-time" datetime="2019-12-17T13:59:14+00:00">17.12.19, 13:59</time></span><div class='quote '>Я бы порекомендовал попробовать подёргать эту информацию из объекта респонза:</div></div><br>
А в IE fetch api поддерживается?]]></description>
        <author>Wound</author>
        <category>JavaScript, DOM/DHTML</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=416440&amp;view=findpost&amp;p=3817018</guid>
        <pubDate>Tue, 17 Dec 2019 13:59:14 +0000</pubDate>
        <title>Cross domain ajax запрос и response status</title>
        <link>https://forum.sources.ru/index.php?showtopic=416440&amp;view=findpost&amp;p=3817018</link>
        <description><![CDATA[Serafim: XMLHttpRequest - это устаревший механизм, так что и API у него довольно ограниченное.<br>
<br>
Я бы порекомендовал попробовать подёргать эту информацию из объекта респонза:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">try {</div><div class="code_line">&nbsp;&nbsp;let response = await fetch(&#39;//yoursite.com&#39;);</div><div class="code_line">&nbsp;&nbsp;console.log(response.statusText); // Возможно информация будет тут</div><div class="code_line">} catch (e) {</div><div class="code_line">&nbsp;&nbsp; console.error(e); // Или возможно тут, надо проверять</div><div class="code_line">}</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script><br>
<br>
<a class='tag-url' href='https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API' target='_blank'>https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API</a>]]></description>
        <author>Serafim</author>
        <category>JavaScript, DOM/DHTML</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=416440&amp;view=findpost&amp;p=3817016</guid>
        <pubDate>Tue, 17 Dec 2019 13:35:53 +0000</pubDate>
        <title>Cross domain ajax запрос и response status</title>
        <link>https://forum.sources.ru/index.php?showtopic=416440&amp;view=findpost&amp;p=3817016</link>
        <description><![CDATA[Wound: Всем привет&#33;<br>
<br>
В общем посылаю кросс доменный запрос, и если например ресурс не доступен или еще что то - получаю статус 0, описание ошибки &quot;error&quot;.<br>
Можно ли как то получить вменяемый HTTP статус + описание ошибки? Сейчас у меня в браузере в консоли летит ошибка:<br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>SCRIPT7002: XMLHttpRequest: Сетевая ошибка 0x80070005, Отказано в доступе.</div></div><br>
В ajax, в обработчике ошибки тупо ничего нет, вот что там есть только:<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Status: 0. Exception: error</div></div><br>
Хотелось бы увидеть более вменяемую ошибку.<br>
<br>
Предварительно погуглив, я вроде как наткнулся на то, что это может быть связано исключительно с Cross domain запросами, в целях безопасности это нельзя получить?<br>
Я так понимаю это такая защита от инвентаризации? Или таки можно как то получить вменяемый код и описание ошибки?<br>
<br>
Спасибо.]]></description>
        <author>Wound</author>
        <category>JavaScript, DOM/DHTML</category>
      </item>
	
      </channel>
      </rss>
	