jQuery AJAX失败,在成功响应200时显示404

jQuery AJAX failing with 404 on a 200 success response

本文关键字:响应 200时 显示 成功 AJAX 失败 jQuery      更新时间:2023-09-26

我有一个简单的API,用Rails编写,应该与jQuery的AJAX一起使用。

我的控制器方法是这样的:

  user = User.find_by_email_and_password(params[:email], params[:password])
  if ! user
    user = User.new
    user.email = params[:email]
    user.password = params[:password]
    user.save
  end
  respond_with user, status: 200

这是AJAX处理程序:

$.ajax({
    url: Service.url + 'login.json',
    data: {
      email: 'email@server.com',
      password: 'pass'
    },
    type: 'POST',
    dataType: 'json',
    success: function(json) {
      if (json.id) {
        this.is_logged_in = true;
        this.data = json;
        $('#finilizeModal').modal('show');
        return $('#signInModal').modal('hide');
      }
    },
    error: function(xhr, status) {
      return alert('An error occured while executing AJAX request');
    },
    complete: function() {}
  });

下面只是警告:An error occured while executing AJAX request,错误码为404。但是Chrome检查器显示请求成功,输出是一个有效的JSON。

我做错了什么?

尝试生成没有'。/somepage?email=emsil&password=pass. json' in rails,因为:URL in rails '/somepage.json ', jQuery send '/somepage.json?email=email&password=pass'.