2014-09-06 3 views
1

Это будет совершенно очевидно для кого-то другого, но для жизни меня я не могу понять.Почему этот пример JQuery.get из w3schools не работает для меня?

Я скопировал HTML из http://www.w3schools.com/jquery/tryit.asp?filename=tryjquery_ajax_get

Я немного изменил одну строку, так что .get URL указывает на полный w3schools.com URL (это прекрасно работает на их пример страницы). Это код:

<!DOCTYPE html> 
<html> 
<head> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
<script> 
$(document).ready(function(){ 
    $("button").click(function(){ 
    $.get("http://www.w3schools.com/jquery/demo_test.asp",function(data,status){ 
     alert("Data: " + data + "\nStatus: " + status); 
    }); 
    }); 
}); 
</script> 
</head> 
<body> 

<button>Send an HTTP GET request to a page and get the result back</button> 

</body> 
</html> 

Этот код прекрасно работает для меня на сайте w3schools, но когда я вставить его в новый файл под названием «hi.html» на моем домашнем компьютере и открыть его в Chrome и Firefox, он терпит неудачу.

Я копирую и вставляю этот html напрямую, почему это не удается?

+2

должен быть проблемой совместного использования ресурсов CORS (Cross-Origin Resource Sharing). Проверьте эту ссылку для лучшего понимания: http://www.html5rocks.com/en/tutorials/cors/ – Satya

ответ

3

Ваш веб-браузер запрещает выполнение Ajax-запроса из-за политики того же происхождения (https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy). В основном, когда вы запускаете скрипт на localhost: 80, вы можете делать запросы Ajax только на страницы на localhost: 80. W3Schools находится на другом хосте.

Политики того же происхождения существуют по соображениям безопасности. Например, предположим, что вы вошли в Facebook. Если политика одного и того же происхождения не существует, программист может сделать вредоносный веб-сайт, который делает запрос Ajax для Facebook.com, и он вернется с вашими файлами регистрации. Затем он может отправить ваш файл cookie для входа вредоносному программисту. Затем злоумышленник может использовать ваши файлы cookie для входа в систему и олицетворять вас на Facebook.

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