function ajaxObject() {
var xmlHttp
try {
// Firefox, Opera 8.0+, Safari
xmlHttp = new XMLHttpRequest()
}
catch (e) {
// Internet Explorer
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP")
} catch (e) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP")
} catch (e) {
alert("您的浏览器不支持AJAX!")
return false
}
}
}
return xmlHttp
}
// ajax post请求:
function ajaxPost ( url , data , fnSucceed , fnFail , fnLoading ) {
var ajax = ajaxObject()
ajax.open( "post" , url , true )
ajax.setRequestHeader( "Content-Type" , "application/x-www-form-urlencoded" )
ajax.onreadystatechange = function () {
if( ajax.readyState == 4 ) {
if( ajax.status == 200 ) {
fnSucceed( ajax.responseText )
}
else {
fnFail( "HTTP请求错误!错误码:"+ajax.status )
}
}
else {
fnLoading()
}
}
ajax.send( data )
}
HTTP协议中的 Authorization 请求消息头含有服务器用于验证用户代理身份的凭证,通常会在服务器返回 401 Unauthorized 状态码以及 WWW-Authenticate 消息头之后在后续请求中发送此消息头。
格式是Basic字符串+空格+ 用户名:密码 的Base64编码。
将凭证<credentials>部分进行Base64编码,然后再拼接字符串'Basic ',就可以生成基础验证方案。
因为DOMString 是16位编码的字符串,如果有字符超出了8位ASCII编码的字符范围时,在大多数的浏览器中对Unicode字符串调用 window.btoa将会造成一个 Character Out Of Range 的异常。
所以下列方法将UTF-16的 DOMStrin 转码为UTF-8的字符数组然后再编码。
将UTF-16的 DOMString 转码成UTF-8的字符串进行base64编码
使用 eoLinker 发送Basic Auth,输入用户名scar 密码123456
PS: eoLinker是一个很好用的接口管理网站,前端测试很方便
在JS Bin运行后,发现和eoLinker结果一致,成功!!
Authorization
Authentication
Javascript base64
Base64的编码与解码
Base64笔记-阮一峰老师
btoa方法
Next.js提供了一个API,可以让你访问原生的request对象:```
import { getRequest } from 'next/dist/next-server/server/request'
export default function MyPage() {
const request = getRequest()
console.log(request)
// ...
}
```
你可以使用这个API来访问原生的request对象,以获取请求的信息,比如请求头、请求参数等。