我正在开发一个项目,我需要从php页面获取数据并将其显示在服务器上。
var xmlhttp;
var jsonResponse="";
window.onload=function()
{
xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET","http://www.ilexsquare.com/EC/menu.php",true);
xmlhttp.send();
xmlhttp.onreadystatechange=dataReturn;
}
function dataReturn()
{
if(xmlhttp.readyState== 4 && xmlhttp.status==200)
{
jsonResponse = xmlhttp.responseText;
getData();
}
}
function getData()
{
json = jsonResponse;
console.log(json);
var jsobject = JSON.parse(json);
console.log(jsobject);
console.log(jsobject.products.length);
var html="";
for(var i = 0; i < jsobject.products.length; i++){
html += '<a class="submenu-item" href="http://www.ilexsquare.com/EC/productpage/index-left1.html?id=' + jsobject.products[i].menuid + '" >';
html += '<i class="fa fa-angle-right"></i><em> ' + jsobject.products[i].name;
html += '</em><i class="fa fa-circle"></i></a>';
}
$("#submenu").html(html);
$("#count").html(jsobject.products.length);
jsonString = JSON.stringify(obj);
}
我的php页面在哪里以json格式返回数据。这个xmlhttp.status总是返回0。我不知道是什么问题..请帮忙
答案 0 :(得分:2)
这与跨原产地政策有关。
请考虑以下事项:
xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET","http://www.ilexsquare.com/EC/menu.php",true);
xmlhttp.send();
XMLHttpRequest无法加载http://www.ilexsquare.com/EC/menu.php。没有 &#39;访问控制允许来源&#39;标题出现在请求的上 资源。起源&#39; http://stackoverflow.com&#39;因此是不允许的 访问。
如果您想在http://enable-cors.org/server.html使用CORS,那么在服务器上启用此功能有很多资源
标题Access-Control-Allow-Origin: *
需要作为回复发回。
这可以简单到将header("Access-Control-Allow-Origin: *");
添加到该PHP页面的顶部。