簡體   English   中英

HTML表單數據未通過Ajax GET請求傳遞到php文件

[英]HTML form data is not passed to the php file by ajax GET request

我在創建GET請求以將表單數據發送到PHP文件時遇到錯誤。 我該怎么辦?

function addDetails(str1,str2,str3,str4){

    var xmlhttp=new XMLHttpRequest();
    xhttp = new XMLHttpRequest();

    xhttp.onreadystatechange = function() {
       if (this.readyState == 4 && this.status == 200) {
        document.getElementById("viewblock").innerHTML = this.responseText;
       }
    };
    xmlhttp.open("GET","addDetails.php?a="+str1+"&b="+str2+"&c="+str3+"&d="+str4,true);
    xmlhttp.send();
}

str1到str4是我在調用addDetails()時發送的輸入字段值(HTML)。

我的PHP代碼如下所示

$a = $_REQUEST["a"];
$b = $_REQUEST["b"];
$c = $_REQUEST["c"];
$d = $_REQUEST["d"];

$con=new mysqli_connect('localhost','root','');
if(!$con){
    die('Connection Error : '.mysqli_error($con));
}

mysqli_select_db($con,"ajax_app");
$sql="INSERT INTO images(title,description,capturedate,image) VALUES ($a,$b,$c,$d)";
if(mysqli_query($con,$sql)){
    alert("data added successfully");
}
else{
    alert("failed to add");
}
?>

執行此操作時,不會發生任何變化。 而且也沒有錯誤。

您可能在php腳本上遇到錯誤。 您不能在PHP中調用alert()函數。 請改用echo。 然后,您將在瀏覽器控制台中看到響應。

您的PHP代碼應如下所示:

$a = $_REQUEST["a"];
$b = $_REQUEST["b"];
$c = $_REQUEST["c"];
$d = $_REQUEST["d"];

$con=new mysqli_connect('localhost','root','');
if(!$con){
    die('Connection Error : '.mysqli_error($con));
}

mysqli_select_db($con,"ajax_app");
$sql="INSERT INTO images(title,description,capturedate,image) VALUES ($a,$b,$c,$d)";
if(mysqli_query($con,$sql)){
    echo "data added successfully";
}
else{
    echo "failed to add";
}
?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM