任何人都可以帮我解决这个简单的代码。我收到这个错误:
"Notice: Undefined index: name in C:\xampp\htdocs\test.php on line 2
您输入的ID为“
我还想知道如何在ajax语句中传递多个值,如:
data: {name: "john", country: "UK"}
在服务器端检索它,最后将其发回初始页面。
客户方:
<script>
$(document).ready(function(){
$("#btn").click(function(){
$.ajax({
type: "POST",
url: "test.php",
data: {name: "John"}
})
.done(function() {
$("#output").load("test.php");
});
});
});
</script>
<form>
<input type="button" value="Test" id="btn" />
</form>
<div id="output"> </div>
服务器端:
<?php
$student =(string) $_POST['name'];
//$student = isset($_POST['name'])?$_POST['name']:'err';
$message = "Name: ".$student;
echo ($message);
?>
答案 0 :(得分:5)
您正在加载test.php
文件两次:一次使用您的POST请求,它返回正确的数据......但是您忽略了该数据并再次使用GET请求请求它,这当然没有POSTdata附加。
尝试:
.done(function(data) {
$("#output").html(data);
});
答案 1 :(得分:1)
尝试这样的事情:
$("#btn").click(function(){
$.ajax({
type: "POST",
url: "test.php",
data: {name: "John"},
success: function(data) {
$("#output").html(data);
}
})
您还可以按照说法添加更多数据:
data: {name: "John", country:"UK"}
在PHP中,您将获得$_POST['country']
。
答案 2 :(得分:1)
要从表单中通过Ajax传递多个数据项,您可以执行此操作,例如,它从输入字段中获取值并传递它们:
data:
'forename=' + $('#forename').val() +
'&surname=' + $('#surname').val() +
'&addressLine1=' + $('#addressLine1').val(),