所以我已经使用 GET 完成了 AJAX 请求,所以现在我想用 POST 来试试运气。但是由于某种原因,当我尝试发送数据时,我在控制台中收到一条疯狂的奇怪消息 - NS_ERROR_XPC_JSOBJECT_HAS_NO_FUNCTION_NAMED:'JavaScript 组件没有名为:“可用”的方法'调用方法时:[nsIInputStream::available] 我从字面上看不知道这意味着什么,我知道数据没有通过,因为我在我请求的 load.php 文件中所做的所有事情都是回显它应该存储的变量。所以它在javascript中的东西。
这是我提出请求的第一页的 HTML。
<!DOCTYPE html>
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<script type="text/javascript" src="test.js"></script>
</head>
<body>
<div id="myDiv"><h2>Let AJAX change this text</h2></div>
<input id="input">
<button type="button" onclick="loadXMLDoc()">Change Content</button>
</body>
</html>
还有我的 Javascript:
function loadXMLDoc()
{
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.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
}
var data = "id="+document.getElementById("input").value;
xmlhttp.open("POST","load.php",true);
xmlhttp.send(data);
}
最后,load.php 的代码:
$param = $_POST['id'];
if($param){
echo "Variable was stored.";
} else{
echo "Not working";
}
每次我运行它时,我都会在浏览器中“不工作”。所以 php 代码至少试图存储变量,但它不是。谢谢!