【问题标题】:Why i am always getting 401 (Unauthorized) error in case jquery ajax为什么我总是收到 401(未经授权)错误以防 jquery ajax
【发布时间】:2014-03-05 11:13:12
【问题描述】:

我在 jquery 中使用 ajax。当我提交我的值时,我每次都会收到此错误。请让我知道我哪里错了?

  <script>
    $(document).ready(function(){
      $("button").click(function(){
        $.ajax({
          url: 'url_path',
          data: { 
            user : {
              email : $('#email').val(), 
              password : $('#password').val()
            } ,
            vendor_identifier : '3231-43423-fdsdfs'
          },
          dataType: 'jsonp',
            //method: 'POST',
            type:'POST',
            success: function(msg) {
              var msg = $.parseJSON(msg);
              console.log(msg);
            }
          });
      });
    });
  </script>

【问题讨论】:

  • 什么是 url: 'url_path'(它是一个字符串)?
  • 什么是'url_path' 这不是正确的网址
  • 您共享的代码将使我们了解您发送到服务器的内容,但由于我们看不到服务器端代码 - 我们不知道它对数据以确定您未获得授权。
  • dataType: 'jsonp'type:'POST' 是不兼容的。 JSON-P 请求是通过生成具有 src 属性的脚本元素来处理的。这将总是是一个 GET 请求。
  • 我已经把我的本地路径放在这里,我想把这些数据发送到这里,并且这些数据可以完美到达。但我得到的回应是 401 错误。

标签: javascript jquery ajax authorization


【解决方案1】:

从您的示例看来,您正在访问一些需要通过 emailpassword 进行身份验证的 API。 401 Unauthorized 只是说远程服务器由于某种原因无法使用 emailpassword 的组合以及可能的 vendor_identifier 对用户进行身份验证strong> 随请求一起发送的。

API 可能需要Authorization HTTP 标头中Basic Authentication 形式的用户名(电子邮件)密码。如果您使用的是 JQuery >= 1.7.2,那么它将为您创建 Authorization 标头。

看到这个问题:How to use Basic Auth with jQuery and AJAX?

$(document).ready(function(){
  $("button").click(function(){
    $.ajax({
    url: 'url_path',
      data: { 
      user : {
        email : $('#email').val(), 
        password : $('#password').val()
      },
      vendor_identifier : '3231-43423-fdsdfs'
    },
    username: $('#email').val(),
    password: $('#password').val(),
    dataType: 'jsonp',
    success: function(msg) {
    var msg = $.parseJSON(msg);
    console.log(msg);
  }
});

【讨论】:

  • 它是一个跨域 Ajax 调用 .. 我的 url 是不同的域。所以我收到了这个错误
猜你喜欢
  • 2023-03-23
  • 2010-10-03
  • 2022-07-18
  • 1970-01-01
  • 1970-01-01
  • 2018-10-08
  • 2019-01-31
  • 1970-01-01
  • 2017-03-01
相关资源
最近更新 更多