2

我正在创建一个使用 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;
      }
    }
  });

问题是代码username在不包含诸如 an之类的内容时才发出 AJAX 请求@(可能是因为 @ 是 URL 中身份验证和主机的分隔符),这在我的应用程序中是必需的。谁能帮助我如何做到这一点?我不介意稍微改变后端,但要求用户拥有@更少的电子邮件不是一种选择。

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

4

2 回答 2

1

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

于 2010-04-17T22:27:31.550 回答
0

无法复制所描述的行为:正在为 @-logins 发送请求。您确定这不是服务器问题(例如响应不是 json 格式)吗?(顺便说一句,我使用的是标准 jquery,假设 RoR 附带的没有 hack)

于 2010-04-17T22:22:31.607 回答