嗨,我想使用ajax传递给其他php页面的简单传递对象,但尝试检索其效果不佳。给我未定义的错误。检查我的代码以得到澄清。 看到我的错误屏幕截图:
Edit.php
$('#regForm').on('submit', function (e)
{
var serialData = $(this).serialize(),
s = location.search.split('='),
searchId = s[s.length-1];
console.log(serialData);
console.log(searchId);
$.ajax({
method:'POST',
url:'update.php',
dataType:'json',
data:{data:serialData, id:searchId},
success:function(jsonObj){
console.log(jsonObj);
}
});
});
update.php
<?php
if(isset($_POST['submit'])){
var_dump($_POST['data']);
var_dump($_POST['id']);
exit();
$phpObj = json_decode($_POST['data']);
echo json_encode($phpObj);
}
?>
答案 0 :(得分:-1)
尝试...
<!DOCTYPE html>
<html>
<head>
<title></title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.0/jquery.min.js"></script>
</head>
<body>
<form>
<input name="name"> <br>
<input name="surname"> <br>
<input type="submit" name="">
</form>
<button>send</button>
</body>
<script type="text/javascript">
$('button').click(function(){
var serialData = $('form').serialize(),
s = location.search.split('='),
searchId = s[s.length-1];
$.ajax({
method:'POST',
url:'update.php',
dataType:'json',
data:{data:serialData, id:searchId},
success:function(jsonObj){
console.log(jsonObj);
}
});
});
</script>
</html>
答案 1 :(得分:-2)
问题出在您的ajax电话中
$.ajax({
method:'POST',
url:'update.php',
dataType:'json',
data:{data:serialData, id:searchId},
success:function(jsonObj){
console.log(jsonObj);
}
});
它应该是type:'POST'
而非方法。
这就是为什么您的数据无法通过PHP文件获取的原因。
您的PHP代码正常。