【问题标题】:Setting Digest Authorization header in ajax在ajax中设置摘要授权标头
【发布时间】:2013-12-11 02:18:54
【问题描述】:

我正在 phonegap 中编写摘要授权
这是我的代码

在ajax中设置授权头

这是我的代码

$.ajax({  
  type: "GET",  
  url: "http://10.0.2.2:9000/",  
  beforeSend : function(req) {   
    req.setRequestHeader('Authorization','Digest username="username", realm="' + realm + '", nonce="' + nonce     + '", uri="/", response="' + response +'", opaque="' + opaque +'"'); 
  } 
}); 

我已经尝试过使用:

headers: { 'Authorization':'Digest username="username", realm="' + realm + '", nonce="' + nonce + '", uri="/", response="' + response +'", opaque="' + opaque +'"' } 

但它仍然不起作用。 有什么方法可以设置标题吗? 或者我们可以检查标题是否已设置的任何方法?

谢谢:)

【问题讨论】:

标签: jquery cordova authorization request-headers


【解决方案1】:

发送前

类型:函数(jqXHR jqXHR,PlainObject 设置) 一个预请求回调函数,可用于在发送之前修改 jqXHR(在 jQuery 1.4.x 中为 XMLHTTPRequest)对象。使用它来设置自定义标题等。 jqXHR 和设置对象作为参数传递。这是一个 Ajax 事件。在 beforeSend 函数中返回 false 将取消请求。从 jQuery 1.5 开始,无论请求的类型如何,都将调用 beforeSend 选项。

    beforeSend: function(xhrObj){
        xhrObj.setRequestHeader("Content-Type","application/json");
        xhrObj.setRequestHeader("Accept","application/json");
    }

http://api.jquery.com/jQuery.ajax/

https://gist.github.com/pithyless/1547408

【讨论】:

  • 您是否在 firbug ->net tab >response panel 中检查了响应
  • 是的,这是屏幕截图。它以“空字符串”返回 dropbox.com/s/c9r4xtahleftmsy/ScreenShot040.bmp dropbox.com/s/l6j7x1rbsr9gs28/ScreenShot041.bmp $.ajax({ type: "GET", url: "localhost:8080", error: function (request, textStatus, errorThrown) { var header = request.getAllResponseHeaders(); console.log("be"); console.log(header);
  • 401 未经授权的错误 - Web 服务器(运行网站)认为客户端(例如您的 Web 浏览器或我们的 CheckUpDown 机器人)发送的 HTTP 数据流是正确的,但访问的是 URL 资源需要用户身份验证 1) 尚未提供或 2) 已提供但未通过授权测试。这通常称为“HTTP 基本身份验证”。来自客户端的实际身份验证请求在 HTTP 协议中定义为 WWW-Authenticate 头字段
猜你喜欢
  • 2016-09-10
  • 2017-08-18
  • 2017-08-30
  • 2021-11-21
  • 2015-12-02
  • 2018-01-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多