【发布时间】:2021-03-05 22:42:08
【问题描述】:
我在 Laravel 中遇到了 XMLHttpRequest POST 方法的问题,我尝试应用多个引用,例如 MyNotepaper 和此链接 laravel-cors-fruitcakes,但仍然没有工作。
这是访问在线 API 数据,在 localhost 上调用。
这是我的卡住:
Reason: CORS header ‘Access-Control-Allow-Origin’ missing
这是我的代码:
var xhr = new XMLHttpRequest();
var url = 'https://xxx.yyyy.com/api/update';
var params = "server=server&password=12345";
xhr.open('POST', url, true);
xhr.setRequestHeader("Content-Type", "multipart/form-data");
xhr.setRequestHeader("Accept", "application/json");
xhr.onreadystatechange = function() {
if(this.readyState == 4 && this.status == 200) {
console.log(xhr.responseText);
}
};
xhr.send(params);
关于 post 方法、URL 链接和与在 Postman 中显示数据的代码中相同的参数的信息,我不知道我忘记了哪一部分。
这是我的路线:
Route::get('/', function () {
return view('welcome');
});
对于中间件设置,我在其 URL 链接参考中进行了尝试。
来自MyNotepaper,这是我的中间件设置:
<?PHP
namespace App\Http\Middleware;
use Closure;
class Cors
{
public function handle($request, Closure $next)
{
return $next($request)
->header('Access-Control-Allow-Origin', '*')
->header('Access-Control-Allow-Methods', 'GET, POST, PUT, PATCH,
DELETE, OPTIONS')
->header('Access-Control-Allow-Headers', 'Accept, Content-Type,
Authorization');
}
}
如果有人知道并可以帮助我,非常高兴和感激所有
【问题讨论】:
-
你添加了CORS中间件吗?
-
@tirtakeniten 是的,我已经完成了
-
请将 CORS 中间件设置放在您的问题中。
-
@tirtakeniten 已编辑
-
什么版本的 Laravel?
标签: laravel api post xmlhttprequest cors