这是我的表单,我希望在我的 div id="response"中发布结果
<!DOCTYPE html>
<html>
<head>
<title>AJAX POST</title>
<script src="jquery.js"></script>
<script>
$(document).ready(function(){
$('input[name="submit"]').click(function(){
var username=$('input[name="username"]').attr("value");
var password=$('input[name="password"]').attr("value");
var data1=encodeURIComponent(username);
var data2=encodeURIComponent(password);
$.post("response.php",{username:data1,password:data2},function(data){
$("#form").hide();
$("#response").text(data);
});
});
});
</script>
</head>
<body>
<div id="form">
<form action="response.php" method="post">
<input type="text" name="username" value=""/><br/>
<input type="password" name="password" value=""/><br/>
<input type="button" name="submit" value="submit"/>
</form>
</div>
<div id="response"></div>
</form>
</body>
</html>
这是我的服务器端脚本
<?php
echo $_POST["username"]."<br/>";
echo $_POST["password"];
?>
填写表单并单击提交按钮后,我得到的响应是 "<br/>"
我不明白这个。请解释一下。
最佳答案
要获取输入值,您需要使用 .val()不是.attr('value') 。 .attr('value')
将返回属性的值,这里是 ''
(空字符串)
var username=$('input[name="username"]').val();
var password=$('input[name="password"]').val();
关于javascript - 使用 jquery ajax post 方法从 php 脚本获得意外结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18767844/