загрузка jquery прерывается, когда имена хостов различаются

StackOverflow https://stackoverflow.com/questions/1682819

  •  18-09-2019
  •  | 
  •  

Вопрос

Фрагмент кода взят со страницы под названием "sites-catchup.html".Существует простая страница на стороне сервера под названием "max-change-num-ajax.html", которая возвращает единственное число (без какого-либо html).

Если страница запрашивается по вызову http://tiddy:8080/rsm/sites-catchup.html тогда все это работает.

Однако, если я позвоню http://localhost:8080/rsm/sites-catchup.html страница отображается как обычно, но бит ajax всегда завершается с ошибкой.Tiddy и localhost имеют разные IP-адреса, но указывают на один и тот же компьютер.Если я поменяю их местами, чтобы "sites-catchup.html " загружался с localhost, но я запрашиваю страницу у tiddy, тогда это тоже не сработает.

Если загрузка изменена на localhost, и я запрашиваю localhost, то это работает.

Глядя в Firebug, когда имена хостов совпадают, загрузка выполняет запрос GET, который возвращает правильное значение, но если имена хостов разные, то загрузка выполняет команду OPTIONS, которая всегда ничего не возвращает.

Конечная цель этого будет заключаться в таблице, где каждая строка будет иметь статус, полученный с другого компьютера, поэтому она никогда не будет соответствовать хосту, с которого вы запрашиваете страницу.

Кажется, не могу найти никакой причины, почему это происходит, или как это исправить.Кто-нибудь может помочь?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<HEAD>
<link type="text/css" href="js/jquery/themes/base/ui.all.css" rel="stylesheet" />
<script type="text/javascript" src="js/jquery/jquery-1.3.2.js"></script>
<script type="text/javascript" src="js/jquery/jquery-ui-1.7.2.custom.js"></script>
<!--[if gte IE 5.5]>
<SCRIPT language="JavaScript" src="js/jquery.ienav.js" type="text/javascript"></SCRIPT>
<![endif]-->
</HEAD>

<div id="rsmmax1">Fetching1...</div>

<script type="text/JavaScript">
$(document).ready(function() {
   $("#rsmmax1").load("http://tiddy:8080/rsm/max-change-num-ajax.html");
});
</script> 


</BODY>
</HTML>
Это было полезно?

Решение

Это сделано специально.По соображениям безопасности вы не удается выполнить междоменный AJAX Запросы.Вы могли бы использовать JSONP хотя.Другой вариант заключается в том, чтобы используйте прокси-сервер.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top