2012-05-31 5 views
0

Почему этот простой ajax показывает предупреждение с «ошибкой»?jQuery get возвращает ошибку

<script type="text/javascript" src="js/jquery-1.7.2.js"></script> 
<script type="text/javascript"> 
$(document).ready(function(){ 
    $.ajax({ 
       url: "http://www.google.com", 
       success: function(data) { alert(data); }, 
       error: function(req, err) { alert(err);} 
     }); 
}); 
</script> 
+4

Возможно, проблема с междоменными запросами. Посмотрите, есть много сообщений и вопросов в Интернете по этому вопросу. – Styxxy

+0

@Styxxy. без «возможно» :) – fcalderan

+0

Правда, но вы знаете, что теоретически может возникнуть другая проблема; но, видя этот код, почти наверняка возникают междоменные проблемы: P. – Styxxy

ответ

2

Вы не можете напрямую сделать это с помощью javascript, но есть альтернативные способы сделать это, если вы используете сервер.

Javascript часть:

<script type="text/javascript" src="js/jquery-1.7.2.js"></script> 
<script type="text/javascript"> 
    $(document).ready(function(){ 
     $.ajax({ 
      url: "http://yourserver/geturl.php?url=http://www.google.com", 
      // or url: "http://yourserver/geturl.aspx?url=http://www.google.com", 
      success: function(data) { 
       alert(data);  
      }, 
      error: function(req, err) { 
       alert(err); 
      } 
     }); 
    }); 
</script> 

серверной части (для geturl.php):

<?php 
    echo file_get_contents($_GET["url"]); 
?> 

или же логика с ASP.NET.

ключевая часть здесь, что код запускает javascript, а php (aspx) должен находиться в одном домене.

+0

Спасибо, а как насчет getJSON? Должен ли я получать данные из любого домена, если я добавляю «callback =?»? к URL-адресу? – grexor

+0

Этот вопрос отвечает более подробно здесь: http://stackoverflow.com/questions/760993/jquery-getjson-cross-domain-problems –

Смежные вопросы