Проблемы с Ajax получить запрос - PullRequest
0 голосов
/ 17 января 2011

У меня проблемы с этой функцией:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<title>Untitled Document</title>
<script type="text/javascript">
jQuery(document).ready(function(){
$.get("http://www.boersenpoint.de/pages/charts/shareSupplier.php?request=topFlop",     {     indexName: "DAX" } ,function(data){   
  $(data).find('share').each(function(){
 alert('');
 });

 });
 });
 </script>
 </head>

<body>
</body>
</html> 

Firebug не может найти никаких ошибок. По теории 4 предупреждения должны появляться, но нет. Почему?

Ответы [ 2 ]

1 голос
/ 17 января 2011
$(function(){
  $.get("http://www.boersenpoint.de/pages/charts/shareSupplier.php?request=topFlop", {indexName: "DAX"}, function(data) {
    $(data).find('share').each(function(){
      alert('');
    });
  });
});

Есть пара проблем с вашим кодом ...

  1. Вы делаете удаленный запрос через ajax, который явно запрещен той же политикой происхождения
  2. ДАЖЕ ЕСЛИ вы не нарушали эту политику, это не гарантирует, что вы увидите предупреждение - что если data пусто?Если это так, .find('share').each не будет выполнять ==> без предупреждения.
  3. Некоторые браузеры (в основном очень старые) фактически игнорируют оператор alert();, если он не содержит текста (хотя я не знаю о пустой строке, как у вас, но кое-что, что нужно иметь в виду).

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

1 голос
/ 17 января 2011

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

Самый простой способ обойти это - установить на своем сервере скрипт, который проксирует запросы- вы отправляете запрос на ваш сервер, сервер отправляет запрос на другой сервер и возвращает ответ вам.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...