0

PHP ファイルに接続しようとしましたが、サーバーからの応答がありません。

function request(){
    // Create our XMLHttpRequest object
var hr = new XMLHttpRequest();

// Create some variables we need to send to our PHP file
var url = "http://people.dsv.su.se/~pierre/courses/05_ass/ip3/3/3.7.1/example.php";
var number1 = document.getElementById("number1").value;
var number2 = document.getElementById("number2").value;
var vars = "?number1="+number1+"&number2="+number2
hr.open("POST", url, true);

// Set content type header information for sending url encoded variables in the request
hr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
// Access the onreadystatechange event for the XMLHttpRequest object

hr.onreadystatechange = function() {
   if(hr.readyState == 4 && hr.status == 200) {
   var return_data = hr.responseText;

document.getElementById("result").innerHTML = return_data;
}
}
// Send the data to PHP now... and wait for response to update the status div
hr.send(vars); // Actually execute the request
document.getElementById("result").innerHTML = "processing...";
 }

サーバーから何の回答も得られませんでしたか?

私は今それをjquery insteedで書き込もうとしましたが、サーバーからの応答はまだありません

$(document).ready(function() {

// Skicka nummrerna vid klick på #calculate
$('#calculate').click(function() {

var url = "http://people.dsv.su.se/~pierre/courses/05_ass/ip3/3/3.7.1/example.php?";
var number1 = document.getElementById("number1").value;
var number2 = document.getElementById("number2").value;
var numbers = url + number1 + "&" + number2
if (window.XMLHttpRequest)
{// Kod för nya webbläsare
    xmlhttp=new XMLHttpRequest();
}
else {//om det inte är en nyare webbläsare
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
    if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
        // Skriv ut svaret från servern i result
        document.getElementById("result").innerHTML=xmlhttp.responseText;
    }
}
xmlhttp.open("GET",numbers,true);
xmlhttp.send();
alert(numbers);
});
});
4

3 に答える 3

2

GET リクエストで変数を使用しているかのように変数をフォーマットしていますが、POST のリクエストを設定しています。

[編集: コメントを示すため]

この 2 行を変更してみてください。

hr.open("GET", url + vars, true);

hr.send();

[編集] 変更を加えた完全なオリジナル コード

function request(){
        // Create our XMLHttpRequest object
    var hr = new XMLHttpRequest();

    // Create some variables we need to send to our PHP file
    var url = "http://people.dsv.su.se/~pierre/courses/05_ass/ip3/3/3.7.1/example.php";
    var number1 =22;// document.getElementById("number1").value;
    var number2 =22;// document.getElementById("number2").value;
    var vars = "?number1="+number1+"&number2="+number2
    hr.open("GET", url + vars, true);

    // Set content type header information for sending url encoded variables in the request
    //hr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    // Access the onreadystatechange event for the XMLHttpRequest object

    hr.onreadystatechange = function() {
           if(hr.readyState == 4 && hr.status == 200) {
               var return_data = hr.responseText;

                document.getElementById("result").innerHTML = return_data;
            }
    }
    // Send the data to PHP now... and wait for response to update the status div
    hr.send(); // Actually execute the request
    document.getElementById("result").innerHTML = "processing...";
 }
于 2013-05-15T12:17:38.247 に答える
0

パラメータとしてデータを使用してリクエストを send() する必要があります。何かのようなもの:

params = "number1="+number1+"&number2="+number2;
hr.send(params);
于 2013-05-15T12:31:11.617 に答える