我正在使用Angular开发单页应用程序.后端公开需要基本身份验证的REST服务.获取index.html或任何脚本不需要身份验证.
我有一个奇怪的情况:我的观点的人有一个<img>,其中src是一个REST API需要验证的URL.它<img>由浏览器处理,我没有机会为它所做的GET请求设置授权标头.这会导致浏览器提示输入凭据.
我尝试通过这样做解决这个问题:
img src在源空XMLHttpRequest一个service(/api/login),以便进行身份验证.img src属性,认为到那时,浏览器会知道在后续请求中包含Authorization标头.........但事实并非如此.图像请求没有标题.如果我输入凭据,则页面上的所有其他图像都是正确的.(我也试过和Angular的ng-src但是产生了相同的结果)
我有两个问题:
XMLHttpRequest?@bergi询问了请求的详细信息.他们来了.
请求/ api /登录
GET https://myserver/dev30281_WebServices/api/login HTTP/1.1
Accept: */*
Authorization: Basic <header here>
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.2; WOW64; Trident/6.0; .NET4.0E; .NET4.0C; .NET CLR 3.5.30729; .NET CLR 2.0.50727; .NET CLR 3.0.30729)
Connection: Keep-Alive
Run Code Online (Sandbox Code Playgroud)
响应(/ api/login)
HTTP/1.1 200 OK
Cache-Control: no-cache
Pragma: no-cache
Content-Length: …Run Code Online (Sandbox Code Playgroud) html javascript basic-authentication angularjs single-page-application
我有一个包含JavaScript中二进制数据的字符串.现在我想从中读取一个整数.所以我得到前4个字符,使用charCodeAt,做一些移位等等来得到一个整数.
问题是JavaScript中的字符串是UTF-16(而不是ASCII),并且charCodeAt通常返回高于256的值.
的Mozilla的参考指出,"前128个Unicode码点是ASCII字符编码的直接匹配".(那么ASCII值> 128?).
如何将结果转换为charCodeAtASCII值?或者有更好的方法将四个字符的字符串转换为4字节整数?