[英]cannot POST successful ajax request
我的存儲庫中有 2 個文件,我想將 index.php 中的 js 變量傳遞給 php 腳本 validate.php。 我的存儲庫的結構:
index.php 中的代碼:
<!DOCTYPE html>
<html>
<head>
<title>Title of the document</title>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
</head>
<body>
The content of the document......
<script type="text/javascript">
var name = "virginia"
//console.log(name)
$.ajax({
url: "../pdf/validate.php",
method: "post",
data: name,
success: function(res) {
console.log(name)
console.log("pass js variable to php: success")
}
});
// open localhost/index.php
// open F12 developer console, you will find 'virginia' was passed to validate.php, because it console-prints "pass js variable to php: success".
</script>
</body>
</html>
ajax 請求成功驗證。php。 但是,轉到 validate.php,我有:
<?php
$var1 = $_POST['name'];
echo($var1);
?>
如果我在本地主機中打開 validate.php,我會收到錯誤消息:注意:未定義的索引:名稱。
為什么?
ajax 請求驗證成功。php
沒那么成功。
您尚未正確格式化數據以供 PHP 解析它。
您應該將帶有name
屬性的 object 傳遞給數據。
data: { name },
如果您使用console.log
檢查res
而不是name
,您可能會說它當前失敗。
如果我在本地主機中打開 validate.php,我會收到錯誤消息:注意:未定義的索引:名稱。
通過在瀏覽器中鍵入 URL,您將發出一個新的 GET 請求,該請求與您之前使用 JavaScript 發出的 POST 請求完全無關。
第一個請求的 POST 數據在第二個請求中不存在。
如果您希望數據在請求之間持久存在,那么您需要將其存儲在某個地方(例如 session 或數據庫)並添加邏輯來區分設置和檢索數據(例如,關閉請求是 POST 或 GET)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.