我對 ajax 完全陌生,所以我不確定我是否做得正確。我正在嘗試將 Javascript 陣列傳遞給 PHP 檔案。如果成功打開 PHP 檔案并顯示陣列。打開檔案后我得到的錯誤是:
undefined $productList
同時,如果我檢查并查看網路選項卡,ajax 發送成功并且回應也很好(我可以看到陣列的內容),但是當我嘗試打開檔案時它會拋出錯誤。所以我的問題是如何打開一個檔案,我用 ajax 將資料發送到該檔案?
大批:
array(6) { ["name"]=> string(28) "Inuyasha by rumiko takahashi" ["image"]=> string(35) "https://via.placeholder.com/195x280" ["id"]=> string(1) "5" ["count"]=> string(1) "1" ["price"]=> string(2) "12" ["basePrice"]=> string(2) "12" }
阿賈克斯:
function passArray(){
$.ajax({
type: "POST",
url: "assets/js/test.php",
data: {productsInCart:productsInCart},
error: function(){
alert('something went wrong..');
}
});
//window.open("assets/js/test.php", "_self"); //how to open the file where the data is sent?
}
PHP代碼:
if($_POST){
$productlist = $_POST;
}else{
$productlist = "";
echo "doesnt work ";
die();
}
//var_dump($productlist);
foreach($productlist as $number){
foreach ($number as $cat => $prop) {
echo $cat;
echo $prop;
}
}
$html .= "</table>";
uj5u.com熱心網友回復:
您正在向同一個 URL 發出兩個不同的請求。
- 與
$.ajax您一起發出 POST 請求。 - 與
window.open您一起發出 GET 請求。
PHP 程式將為每個請求獨立運行。您在第一個請求中發布的資料在第二個請求中將不可用。
如果您想顯示由于發布一些資料而獲得的頁面,請使用:
<form action="..." method="post" target="_self">
不要使用 Ajax(用于在不離開當前頁面的情況下發出 HTTP 請求- 通常您會在對 Ajax 請求的回應中獲取資料并使用 DOM 操作將其添加到當前頁面)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/461031.html
標籤:javascript php 阿贾克斯
下一篇:PHPAjax僅在第一行加載
