gpt4 book ai didi

php - Laravel 5.2 无法将跨域 jQuery 方法识别为 AJAX

转载 作者:搜寻专家 更新时间:2023-10-31 21:04:20 25 4
gpt4 key购买 nike

Laravel 5.2 无法将来自跨域 jQuery load() 方法的请求识别为 AJAX:

来自站点一的 jQuery:

 $('#results').load('http://site2.com/test');

站点二的 Controller 方法:

 public function myMethod(Request $request)
{
header("Access-Control-Allow-Origin: *");
header('Access-Control-Allow-Credentials: true');

if (!$request->ajax()) {
abort(403, 'Invalid Request');
}
// do something
}

请求已收到,除了未被识别为 AJAX 请求外没有其他问题。从同一域调用的 load() 方法被识别为 AJAX。

有什么想法吗?

最佳答案

Laravel 的 HTTP 请求类扩展了 Symfony 的,后者检查请求的 X-Requested-With header 是否设置为“XMLHttpRequest”。默认情况下,此 header 不会在使用 jQuery 的跨域请求中发送,除非您禁用其跨域保护:

$.ajax({
url: 'http://example.com/',
crossDomain: false
});

关于php - Laravel 5.2 无法将跨域 jQuery 方法识别为 AJAX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35204248/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com