You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel Jetstream+Inertia跳转外部URL遇CORS拦截求助

解决Laravel Jetstream+Inertia跳转外部URL的CORS错误

问题根源

你遇到的CORS错误并非后端CORS配置问题,而是Inertia的请求机制导致:

  • 用redirect()->away()时,Inertia会通过AJAX请求跟随重定向到Paystack的checkout页面
  • 但Paystack前端页面不允许跨域AJAX请求(不会返回Access-Control-Allow-Origin头),因此浏览器拦截了请求

解决方案

放弃服务器端重定向,改用Inertia触发客户端原生跳转,避开AJAX跨域限制。

替换重定向代码

将原有代码:

return redirect()->away("checkout.url.com/9282");

替换为Inertia的客户端定位方法:

use Inertia\Inertia;

// ...

return Inertia::location("https://checkout.paystack.com/cfgbfg335");

原理说明

Inertia::location()会返回特殊响应,告知前端框架直接调用window.location.href跳转目标URL。这种浏览器原生跳转不会触发AJAX请求,自然不受CORS策略限制。

补充说明

你配置的fruitcake/laravel-cors仅作用于自身Laravel后端接口,无法控制外部网站(如Paystack)的CORS策略,因此调整跳转方式是唯一可行的解决途径。


内容的提问来源于stack exchange,提问作者Leslie Joe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 06:15:38