jquery - $.ajax + 身份验证 + 用户名中的 `@`

标签 jquery ruby-on-rails http email basic-authentication

我正在创建一个使用 jQuery 进行身份验证的网络应用程序:

$.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;
      }
    }
  });

问题是代码用户名不包含@之类的东西时发出AJAX请求(可能是因为@ 是 URL 中身份验证和主机的分隔符),这在我的应用程序中是必需的。谁能帮我解决这个问题?我不介意稍微改变一下后端,但要求用户使用 @-less 电子邮件不是一种选择。

哦,我的后端是一个 Ruby-on-Rails 应用。

最佳答案

您应该将所有@s 替换为 %40。 @ 即 URL 中身份验证和主机之间的分隔符(例如 http://someone:password@example.com/

关于jquery - $.ajax + 身份验证 + 用户名中的 `@`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2660170/

相关文章:

mysql - Rails Active Record - 查找两列之和符合条件的记录

ruby-on-rails - 闪光[:notice] is shown on browser back again

java - 支持具有相同 servlet 的两个 URI

javascript - Coffeescript/Javascript 在服务器上不工作

http - 在地址栏中留下缩短的 URL 的 URL 缩短

arrays - 通过 HTTP 将文件下载到 C# 中的字节数组中?

Jquery removeClass 没有任何作用

javascript - 检查文本字段是否仅包含数字且必须为 11 位数字

javascript - 附加后输入相关函数未运行

jquery - 将焦点集中到 jQueryUI 对话框中的第一个表单元素