Я пытаюсь сделать свой первый пример ajax, работающий на моем MAMP. my ajax.html выглядит так:
<html> <head> <script src='ajax.js'></script> </head> <body onload = 'ajax()'> <div id='test'></div> </body> </html>
my ajax.js выглядит так:
функция ajax () { >> var xmlhttp;
if (window.XMLHttpRequest) {// код для IE7 +, Firefox, Chrome, Opera, Safari xmlhttp = new XMLHttpRequest (); } еще {// код для IE6, IE5
xmlhttp = new ActiveXObject ("Microsoft.XMLHTTP"); } xmlhttp.open ( "GET", "HTTP: // локальный: 8888 / ajax.php", правда); xmlhttp.send (); xmlHttp.onreadystatechange = функция () { if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { document.getElementById ( "тест") innerHTML = xmlhttp.responseText. } } }
my ajax.php выглядит так:
echo 'hello world';
Я обнаружил заголовок ответа от firebug:
Заголовки ответов
Подключение Keep-Alive
Контент-длина 11
Content-Type text / html
Дата Пн, 05 Ноя 2012 18:57:46 GMT
Keep-Alive timeout = 5, max = 99
Сервер Apache / 2.2.22 (Unix) mod_ssl / 2.2.22 OpenSSL / 0.9.8r DAV / 2 PHP / 5.4.4
X-Pad избегает ошибки браузера
X-Powered-By PHP / 5.4.4
но ничего в тексте ответа и ничего не изменилось в моем html.
Кто-нибудь может помочь мне, пожалуйста?
Благодаря!
Ваша проблема заключается в том, что вы пытаетесь выполнить запрос перекрестного домена. Браузер предотвращает его из-за той же политики происхождения .
Стандартное решение – установить заголовки CORS на вашем PHP, чтобы разрешить эти запросы.
Например :
<?php header("Access-Control-Allow-Origin: *"); ?>