我無法將數據發送到要處理的php文件。我已經嘗試過幾乎所有的東西,但找不到問題的根源。下面是一個php文件,它在用戶點擊按鈕後發送產品名稱,價格和ID至checkout
函數。如何使用AJAX將數據發佈到php文件
<?php
$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "Test";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT P1.Product_Name, S2.Price, P1.Product_ID FROM Product P1, Sale_Item S2 WHERE P1.Product_ID=S2.Product_ID AND P1.Category='Sports'";
$res = $conn->query($sql);
$counter=0;
while ($row = $res->fetch_assoc()){
$Product_Name = $row["Product_Name"];
$Price = $row["Price"];
$Product_ID = $row["Product_ID"];
echo ('<td><p></p>'.$row["Product_Name"].'<br>'.$row["Price"].'<p></p><input type="button" value="Buy" onclick="checkout(\'' . $Product_Name . '\', \'' . $Price . '\', \'' . $Product_ID . '\')"</td>');
$counter++;
if ($counter==3) {
$counter=0;
print "<br>";
}
}
$conn->close();
?>
而旁邊的checkout
功能:
<script type="text/javascript">
function checkout(Product_Name, Price, Product_ID) {
//document.write(Product_Name, Price, Product_ID)
var theProduct_Name = Product_Name;
var thePrice = Price;
var theProduct_ID = Product_ID;
$.ajax({
type: "POST",
url: "http://localhost:8888/checkout.php",
data: {Product_Name: theProduct_Name, Price: thePrice, Product_ID: theProduct_ID},
});
window.location.assign("http://localhost:8888/checkout.php")
}
</script>
我使用甲基苯丙胺的phpMyAdmin的數據庫中。我的網址不正確?我試過使用"http://localhost:8888/checkout.php"
和checkout.php
。下面是我需要處理數據的php文件。爲了簡單地學習如何發送數據,我只是在文件內部回顯以確保它實際上發佈。但沒有任何迴應。
<?php
session_start();
$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "Test";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$theProduct_Name = $_POST['Product_Name'];
$theProduct_ID = $_POST['Product_ID'];
$thePrice = $_POST['Price'];
echo $theProduct_Name.$theProduct_ID.$thePrice;
?>
我是網絡編程新手,所以任何幫助或提示,將不勝感激。我一直在看這個好幾個小時,似乎無法讓它工作。
你不應該指望看到什麼直接調用操作URL回聲出。您正在發送Ajax,並將響應返回給它。 –
@MateHegedus會更好的方法是使用一種形式,直接發送數據到一個PHP文件,而不是先發送到一個函數然後使用AJAX? – Sam5487
@NMoeini我知道,但是當我在ajax返回後調用'window.location.assign('「http:// localhost:8888/checkout.php」'''')時,不應該回顯數據嗎? – Sam5487