2014-03-05 17 views
3

得到401(未授權)錯誤我使用jQuery的阿賈克斯。當我提交我的價值時,我每次都會收到這個錯誤。請讓我知道我錯在哪裏?爲什麼我總是在案件的jQuery阿賈克斯

<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> 
+0

是什麼網址: 'url_path'(這是一個字符串)? –

+0

什麼是''url_path''這不是正確的URL – Pavlo

+2

您共享給我們要發送到服務器的東西有所瞭解的代碼,但由於我們無法看到服務器端代碼 - 我們沒有了解它是如何處理數據以確定您未被授權的。 – Quentin

回答

1

從你的例子似乎你正在訪問某些API,它需要通過電子郵件密碼認證。該401 Unauthorized簡單地說,遠程服務器是出於某種原因無法將用戶與電子郵件密碼和組合認證可能是vendor_identifier你與請求一起發送。

機會是API期望用戶名(電子郵件)密碼Basic AuthenticationAuthorization HTTP頭的形式。如果您使用的是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); 
    } 
}); 
+0

其跨域Ajax調用..我的網址是不同的域。所以我得到這個錯誤 – user3319135