目标是登录网站而不必刷新屏幕。我使用一个文本框来捕获密码的电子邮件/用户名和密码框(输入类型=“密码”)。然后,理想情况下,我想将这些值传递回Web服务以使用JQuery / AJAX进行身份验证。但是,我遇到的问题是JQuery无法访问Password字段的值,总是传回一个空字符串而不是密码。
我理解能够通过脚本访问某人的密码所带来的安全隐患,但有没有办法,一些解决方法或技巧来实现我的目标?
谢谢你, ģ
更新: 如何在提问时扣除积分?这是一个愚蠢的问题吗?虽然答案可能值得一些“DOH”扣除...但事实证明表格上有两个密码字段,每个密码字段具有相同的ID。我从空的那里得到了价值。我感谢大家的回应和帮助。一如既往,我获得了一些有用的链接和信息。
答案 0 :(得分:4)
就使用JS读取值而言,密码输入没有什么特别之处。有关证据,请参阅this live demo。
如果没有提交该字段,那么您的基本方法就出现了问题。
也许你正在调用serialize()
但是没有给输入命名。如果没有看到您的代码,就无法知道实际问题是什么。
答案 1 :(得分:1)
<input type="password" name="password" />
和javascript
$(function(){
$.post('your-url', {password: $("input[name='password']").val()}, callback(info){
// proccess success
},
'json' // or other dataType
});
了解更多http://api.jquery.com/jQuery.post/
和PHP可能:
if(isset($_POST["password"])){
//proccess info server
}
答案 2 :(得分:0)
只需通过AJAX提交整个表单,您不需要从表单中获取单个值,将帖子保持原样。
答案 3 :(得分:0)
jQuery在访问密码字段值时没有问题 - check it out。
只要您通过普通HTTP
而不是HTTPS
连接到您的网络服务,就会遇到安全问题,因此如果您不支持安全协议,请考虑OAuth授权模式。