2016-05-13 8 views
1

私はこの壁で私の頭を壁に叩いています。私の質問への答えはherehereであり、私は重複して投稿したくありません。しかし、何らかの理由で、私のコードは、これらの例とまったく同じように見えますが、動作しません。入力パラメータを持つJavascript/PHPのXMLHTTPリクエスト。

私は、JavaScript関数からxmlhttprequestを介してPHP関数にIDを渡そうとしています。ここに私のJavascriptの機能は次のとおりです。

function acceptRequest(id_Request) 
{ 
var xhttp = new XMLHttpRequest(); 
xhttp.open("POST", "acceptRequest.php", true); 
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
xhttp.onreadystatechange = function() 
{ 
    if (xhttp.readyState == 4 && xhttp.status == 200) 
    { 
     alert("Request accepted."); 
    }; 
}; 
xhttp.send("id_Request="+id_Request); 
}  

私のPHPファイル、acceptRequest.phpは、次のようになります。

<?php 
echo $_POST['id_Request']; 
?> 

何が起こるかというとJavascriptの機能は、アラートを送信しないことである: "要求が受け入れられました"しかし、PHP関数は何もエコーしません。私はここで何が恋しいのですか?

答えて

0

私の問題は、あなたの関数がどのidも渡していないことです。私はあなたのPHP/javascriptで確信しています。あなたが渡したいidは、いくつかの入力ボックスにあります。

は、その後、あなたのjsの関数で、あなたは

ヴァールID =のdocument.getElementById( "ID-of_input")を言うことができる値。

これをAjaxリクエストに追加することができます。

あなたのAjaxがPHPから応答を得られないことに気付きました。あなたのケースで

if(xmlhttp.readyState == 4 &&.  xmlhttp.status == 200){ 
    document.getElementById(where).innerHTML = xmlhttp.responseText; 

}

、xhttp.responseTextことit'ld。

この行は、Ajaxリクエストの結果を表示する場所を示しています。

+0

これは意味がありますが、「テスト」などの定数をエコーし​​ても、何も印刷されません。 –

+0

問題が表示されます。あなたのPHPスクリプトではなく、あなたのAjaxリクエストに結びついたものではありません。レスポンスはどこにdivを作成し、それにIDを渡すのですか?今あなたのjs関数で、コードがxhttp = 4&200の場合、このコードをこのステートメントの中に入れます。var theDiv = document.getElementById( "id_of_the_new_div")。次に、theDiv.innerHTML = xhttp.responseText; AjaxのPHPからの返信を得ることができます。 –

+0

コードが変更されました...あなたが役に立ったら幸いです –

関連する問題