で受信されませんでしたか?この問題で私を助けてくれるのではないかと思いましたか?JavaScript Ajax URL 'post'データがPHPファイル
JavaScript AJAXメソッドで、可変長のHTML(または実際のデータ)をPOST経由でPHPファイルに渡すことを検討しています。
私は自分のプロジェクト全体にJavaScriptを使用したいので、私は自分の歯を切ることができます - 私はAJAXのjQueryで多くのソリューションが提供されていますが、うまくいけば、 :)
私は次のようにURLに変数を「準備」でデータを渡す:
ajax("doit.php?preparedOutput=" + prepare);
AJAX機能:
function ajax(queryURL) {
alert(queryURL); // check the right data is being sent
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (xhttp.readyState == 4 && xhttp.status == 200) {
alert(xhttp.responseText);
output2.value = xhttp.responseText;
result.innerHTML = "<h3>your HTML</h3>" + xhttp.responseText;
}
}
//var encodedQueryURL = encodeURIComponent(queryURL);
xhttp.open("POST", "doit.php", true);
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
//alert(encodedQueryURL); // check the right encoded data is being sent
xhttp.send(queryURL);
}
はアラートがおそらく送信されているもののデータを見せてエンコードされているか否かにかかわらず、すべてはうまく見えます。しかし、私がPHPから返す応答は何もありません。
<?php
$preparedOutput = $_POST['preparedOutput'];
echo $preparedOutput;
?>
if/elseブロックでisset($ preparedOutput)を使用しても、elseがトリガーされます。何も通過していない。たとえHTML以外の単純な数字や文字を空白なしで渡そうとしても。明らかにPHPファイルに到達するものはありません。
私はsetRequestHeaderを試しています。あらゆる種類の "text/html"などを試しています。結果は変わりません。私はここにパズルの重要な部分が欠けていると感じる!
私の環境では、FastCGIを使用してIIS7でPHPを有効にしています。 PHPは動作していましたが、以前は同じページにPHPスクリプトが埋め込まれていましたが、preparedOutput変数のHTMLではなくページ全体のHTMLが返されていました。
ありがとうございます。
http://stackoverflow.com/questions/9713058/send-post-data-using-xmlhttprequest –