Jquery $.ajax+;身份验证用户名中的

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) {

我正在创建一个使用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) {
      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类,我假设任何转义都是自动完成的。。。