javascript - 使用 jquery ajax post 方法从 php 脚本获得意外结果

标签 javascript php jquery ajax

这是我的表单,我希望在我的 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/

相关文章:

javascript - 显示图片 onclick javascript

javascript - 带有 API 变量的 Ajax URL 属性

php - MYSQL 与图像一起使用?

javascript - 除了 input[type=text] 之外的所有内容都禁用选择

javascript - ie8 中的复选框添加了奇怪的 jquery 属性

PHP:为什么这个选择计数不能与分组依据一起正常运行?

javascript - 使用 JQuery LI 向 LI 添加类到每 7 个项目

javascript - 如何在java脚本中使用正则表达式验证文本?

javascript - 在 AngularJS 应用程序中使用纯 javascript 对象是好的还是坏的做法?

php - 更新 MySQL 文本字段行时生成不需要的反斜杠