代码一直有效,直到我到达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(&#39; name&#39;)。value;
和
输入类型=&#34;文字&#34; ID =&#34;名称&#34;而不是name =&#34; name&#34;
答案 0 :(得分:1)
你的姓名&#34;是DOM对象。为了获得价值:
var name=document.getElementById('name').value;
您现在不提交字符串,而是提交Object,这可能是它失败的原因。
答案 1 :(得分:1)
尝试在ajax请求中添加dataType 把它作为文本&#39;
$.ajax({
type: 'post',
url: 'action.php',
dataType: 'text',
data: {
'name':name
},
cache:false,
success: function (data) {
$('#msg').html(data);
}
});