0

だから私はすでにGETを使ってAJAXリクエストを行ったので、代わりにPOSTを使って運試しをしたかったのです。しかし、何らかの理由で、データを送信しようとすると、コンソールに奇妙なメッセージが表示されます - NS_ERROR_XPC_JSOBJECT_HAS_NO_FUNCTION_NAMED: 'JavaScript component does not have a method named: "available"' when calling method: [nsIInputStream::available] I文字通りこれが何を意味するのかわかりません。私が要求する 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 コードは少なくとも変数を格納しようとしていますが、そうではありません。ありがとうございました!

4

1 に答える 1