McD*_*eam 4 javascript php ajax
我正在努力让我的第一个ajax示例在我的MAMP上工作.我的ajax.html看起来像:
<html>
<head>
<script src='ajax.js'></script>
</head>
<body onload = 'ajax()'>
<div id='test'></div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我的ajax.js看起来像:
function ajax()
{
>>var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","http://localhost:8888/ajax.php",true);
xmlhttp.send();
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("test").innerHTML=xmlhttp.responseText;
}
}
}
我的ajax.php看起来像:
回声"你好世界";
我从firebug中检测到响应头:
响应标头
连接保持活动
内容长度11
内容类型文本/ html
日期星期一,2012年11月5日18:57:46 GMT
保持活动超时= 5,最大= 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没有任何改变.
有人可以帮帮我吗?
谢谢!
Den*_*ret 12
您的问题是您正在尝试执行跨域请求.由于相同的原始策略,浏览器会阻止它.
标准解决方案是在PHP中设置CORS头以允许这些请求.
例如 :
<?php
header("Access-Control-Allow-Origin: *");
?>
Run Code Online (Sandbox Code Playgroud)