Я пытаюсь выполнить основной вызов AJAX, где я отправляю адрес «www.google.com» на номер urlpost.php
, но текущий код, похоже, не может обнаружить ответ (ничего бывает). Я попытался найти ошибку, но не знаю, где я ошибся.Базовый запрос AJAX Javascript/PHP не работает
Спасибо вам заранее!
Отказ от ответственности: Это изменение примера от Робина Никсона Learning PHP, MySQL & Javascript
index.html
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Ajax Example</title>
</head>
<body>
<h1 align='center'>Loading a web page into a DIV</h1>
<div id='info' align='center'>This Sentence will be replaced </div>
<script>
request = new ajaxRequest()
request.open("POST", "urlpost.php", true) //also tried 'test/urlpost.php' (test is the folder of the file)
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded")
request.setRequestHeader("Content-length", params.length)
request.setRequestHeader("Connection", "close")
request.send("url=www.google.com")
request.onreadystatechange = ajaxCallback
function ajaxCallback()
{
alert("Reponse received") //just letting me know I got a reponse
if(this.readyState==4) //ready
{
if (this.status==200) //no idea
{
if (this.responseText != null)
{
document.getElementById('info').innerHTML = this.responseText
}
else alert("AJAX ERROR: NO DATA RECEIVED")
}
else alert("Ajax error: "+this.statusText);
}
}
function ajaxRequest()
{
try //non IE browser
{
var request = new XMLHttpRequest();
}
catch(e1)
{
try // IE6+?
{
request = new ActiveXObject("Msxml2.XMLHTTP")
}
catch(e2)
{
try // IE5?
{
request = new ActiveXObject("Microsoft.XMLHTTP")
}
catch(e3) //No Ajax support
{
request = false
}
}
}
return request
}
</script>
urlpost.php
<?php
if (isset($_POST['url'])){
echo file_get_contents("http://".$_POST['url']);
}
?>
Чтобы отладить ваш пример, вы должны попробовать [Firebug] (http://getfirebug.com/) или встроенный отладчик, если вы используете браузер веб-кита. Вы увидите, был ли отправлен запрос или нет, и может поставить контрольные точки. –
Кроме того, для упрощения отладки используйте более простой код в файле urlpost.php, например ' Php echo" Hello "?>'. Позже вы будете иметь дело с переменной POST. –
Поддержка IE5? ... У меня нет слов! – Matt