Ajax 标头值返回空值。但是邮递员在下面的代码中显示标题值如何获取标题值"Authorization"



对于后端,我使用的是Laravel 8,前端响应头中的Below Code"授权";值为return";空";值,但在poster中在标头部分显示值。

$("#but_submit").click(function(){
var username = $("#txt_uname").val().trim();
var password = $("#txt_pwd").val().trim();

if( username != "" && password != "" ){
$.ajax({
url:'https://localhost:8000/api/login',
method:'GET',
async:true,
crossDomain:true,
data:{username:username,password:password},
headers: { 'Content-Type':'application/json;charset=utf-8','accept':'application/json'},
success:function(response,textstatus,header){
console.log(header.getResponseHeader('Authorization'));

},error: function(xhr, status, err) {
console.error(url_link, status, err.toString());
}
});
}
});

问题解决了。我得到了一个错误,因为跨来源资源共享(CORS(。

步骤1:运行composer

composer remove barryvdh/laravel-cors fruitcake/laravel-cors
composer require fruitcake/laravel-cors

Setp 2:在路径中添加中间件

app/Http/Kernel.php

FruitcakeCorsHandleCors::class,

步骤3:发布供应商

php artisan vendor:publish --tag="cors"

步骤4:修改Config/core.php

'exposed_headers' => ['Authorization','Content-Type','accept'],

最新更新