当前位置: 首页 > 知识库问答 >
问题:

对PHP的Ajax调用不返回任何内容

仰钧
2023-03-14
<html>
<head>
<script src='ajax.js'></script>
</head>
<body onload = 'ajax()'>
<div id='test'></div>
</body>
</html>

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; } } }

我检测到来自Firebug的响应标头:

响应标头
连接保持活动
内容长度11
内容类型文本/html
日期周一,2012年11月5日18:57:46 GMT
保持活动时间=5,max=99
服务器端/2.2.22(Unix)MOD_SSL/2.2.22 OpenSSL/0.9.8R DAV/2 PHP/5.4.4
X-Pad避免浏览器错误
X-Powered-由PHP/5.4.4

但是没有响应文本和没有改变在我的HTML。

有人能帮我吗?

共有1个答案

丌官积厚
2023-03-14

您的问题是您试图执行跨域请求。由于同源策略,浏览器会阻止它。

标准的解决方案是在PHP中设置CORS头以允许这些请求

例如:

<?php
header("Access-Control-Allow-Origin: *");
?>
 类似资料:
  • 问题内容: 我正在尝试使我的第一个ajax示例在我的MAMP上运行。我的ajax.html看起来像: 我的ajax.js看起来像: 我的ajax.php看起来像: 回声“你好世界”; 我从萤火虫中检测到响应标头: 响应标头 连接Keep-Alive 内容长度11 Content-Type text / html 日期2012年11月5日星期一18:57:46 GMT Keep-Alive超时= 5

  • 我有一个像这样的mysql表 但是我无法用这个函数检索“成人”和“儿童”的值 错误日志显示变量被正确地传递给函数: 为什么此函数返回?

  • 问题内容: 我一直在用这个把头砸在砖墙上,我已经尝试了很多关于stackoverflow的解决方案,但是找不到一个可行的解决方案! 基本上,当我发布我的AJAX时,PHP返回JSON,但AJAX显示的是Undefined而不是值: JS : PHP的 : firebug的JSON结果 : AJAX将JSON结果显示为Undefined,我不知道为什么。我尝试显示添加和。我也曾尝试将其更改为and

  • 问题内容: 我想我在这里遗漏了一些东西: 使用AjAX,我从数据库中获取了一些数据,并以JSON格式将其发送回去。$ jsondata = array(); 到目前为止,我认为没有问题。 在回教士方面,我将以上内容接收回 如果我这样做 我看到了我希望看到的内容,即警报中的整个阵列。 一切出错的地方就是尝试访问响应。我得到的错误是“ categoriesObject”不是对象- 如果不是,它是什么?

  • 如何获取java主目录? 这样做的时候 一无所获

  • 我的问题是: 接下来我用 它返回[],即不返回任何内容 但是如果我设置cursor=conn.cursor(),同样的查询会返回一些行!怎么了?为什么我不能使用游标?