Jquery $.ajax+;身份验证用户名中的
我正在创建一个使用jQuery进行身份验证的web应用程序:Jquery $.ajax+;身份验证用户名中的,jquery,ruby-on-rails,http,email,basic-authentication,Jquery,Ruby On Rails,Http,Email,Basic Authentication,我正在创建一个使用jQuery进行身份验证的web应用程序: $.ajax({ url: "/session/create?format=json", type: "GET", dataType: "json", cache: false, username: $("#signin-email").val(), password: $("#signin-password").val(), success: function(data) {
$.ajax({
url: "/session/create?format=json",
type: "GET",
dataType: "json",
cache: false,
username: $("#signin-email").val(),
password: $("#signin-password").val(),
success: function(data) {
if(data.success) {
success = true;
}
}
});
问题是,当用户名不包含@
之类的内容时(可能是因为@在URL中是身份验证和主机的分隔符),代码才发出AJAX请求,这在我的应用程序中是必需的。有人能帮我怎么做吗?我不介意稍微改变一下后端,但是要求用户拥有@
-更少的电子邮件不是一个选项
哦,我的后端是Ruby on Rails应用程序。无法复制所描述的行为:正在发送请求以进行@登录。您确定这不是服务器问题吗(例如,响应不是json格式)?
(顺便说一句,我使用的是标准jquery,假设RoR附带的jquery没有黑客)您应该用%40替换所有@s。@即URL中身份验证和主机之间的分隔符(例如,Rails是否附带jQuery?我不知道。我通常在创建新项目后清空“public”文件夹……不,这不是服务器问题,因为当我通过输入URL登录并在Safari的对话框中填写电子邮件和密码时,它确实起作用。这个问题对我来说似乎很奇怪——jQuery似乎传递了用户名和密码rams直接连接到浏览器的XMLHttpRequest类,我假设任何转义都是自动完成的。。。