[英]Get ajax post with php
我不明白為什么這行不通。
$.ajax({
type: "POST",
url: 'test.php',
data: {name: 'Wayne', age: 27},
});
echo $_POST['name']; echo $_POST['age'];
它輸出以下內容。
為此,IMO最好的方法是使用兩個不同的文件。
它不能與一個文件一起使用的原因是,PHP是在發出請求之前(呈現index.something文件時)運行的。
因為您期望Ajax請求立即得到反饋,所以您需要有一個成功函數,該函數對從backend.php返回的數據進行處理。
流程如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Hello World</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="main.js"></script>
<script>
function $ajaxReq() {
$.ajax({
method: "POST",
url: "backend.php",
data: {
name: "John",
age: 23
},
success: function(data) {
alert(data)
}
})
}
</script>
</head>
<body>
<button onclick="$ajaxReq()">Click me</button>
</body>
</html>
<?php
$name = $_POST["name"];
$age = $_POST["age"];
echo "Hello, my name is " . $name . " and I am " . $age . " years old.";
?>
它應該是:
$.ajax({
method: "POST",
url: 'test.php',
data: {name: 'Wayne', age: 27},
})
代替
type: "POST"
如此處所示: http : //api.jquery.com/jquery.ajax/
試試這個作為基本測試...
<?php
if($_POST){
echo $_POST['name']."<br>";
if($_POST['age']<21){
echo "Too young to log in!";
}else{
echo $_POST['age']." years old is ok!";
}
}else{
echo "No post values yet.";
?>
<div id="result"></div>
<script>
$.ajax({
method: "POST",
url: 'test.php',
data: {name: 'Wayne', age: 19},
success: function(response){
$("#result").html("I'm the Ajax result!<br><br>"+response);
}
});
</script>
<?php
}
?>
您應該注意到,PHP在這里運行了兩次……在加載時,然后在Ajax請求時。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.