代码会一直运行,直到我到达我发布输入的action.php。问题是 Post 永远不会到达 action.php,我得到的只是一个空白变量。
使用:https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js
<script type="text/javascript">
function submitdata()
{
var name=document.getElementById('name');
$.ajax({
type: 'post',
url: 'action.php',
data: {
'name':name
},
cache:false,
success: function (data) {
$('#msg').html(data);
}
});
return false;
}
</script>
<form onsubmit="return submitdata();">
<input type="text" name="name">
<input type="submit" value="Check">
</form>
<p id="msg"></p>
action.php:
<?php
$name=$_POST['name'];
echo "Response: ".$name;
?>
编辑: 通过添加修复它:
var name=document.getElementById('name').value;
和
输入 type="text"id="name"而不是 name="name"
最佳答案
你的“名字”是 DOM 对象。要获得值(value),请使用:
var name=document.getElementById('name').value;
您现在提交的不是字符串,而是对象,这可能是失败的原因。
关于javascript - jQuery Ajax 提交帖子未收到成功消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47010144/