javascript - 如何使用 Laravel 发送跨域 Ajax POST

标签 javascript jquery ajax laravel post

我正在尝试使用 AJAX 从我的一个 Laravel 站点向另一个站点发送跨域 post 调用。

我看到的另一个主题解决了我在访问控制 header 中遇到的第一个问题:Jquery: Cross-domain ajax 'POST' with laravel

我收到 419 错误,这意味着我没有使用 CSRF token ,但对于我使用的任何 token (本地 token 或其他域 token )都不起作用。

var CSRF_TOKEN = {{ csrf_token() }};
$.ajaxSetup( { headers : { 'X-CSRF-TOKEN' : CSRF_TOKEN } } );

var tracking_id = "{{ isset( $tracking_id ) ? $tracking_id : 'test-20' }}";
$.ajax({
    type: 'POST',
    url: 'https://example.com/beacon',
    crossDomain: true,
    data: { 'tracking_id': tracking_id },
    success: function(responseData, textStatus, jqXHR) {
        console.log( 'Click!' );
    },
    error: function (responseData, textStatus, errorThrown) {
        console.log( responseData );
    }
});

最佳答案

排除VerifyCsrfToken.php中的路由将是最简单的选择。然后你可以制作一个中间件或其他一些手段来通过ip、oauth等限制请求。

文档:https://laravel.com/docs/5.7/csrf#csrf-excluding-uris

关于javascript - 如何使用 Laravel 发送跨域 Ajax POST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52635332/

相关文章:

javascript - 在 Canvas 或 div 中嵌套 Three.JS 渲染器

javascript - 在 Google Spreadsheets 中编写自定义文件格式下载器

java - 如果请求来自,是否可以获取域名或 IP 地址?

javascript - 使用 AJAX 发送文件数组

javascript - Knockout JS 与映射递归模板

javascript - Vue.js/Nginx/Node.js - 413 请求实体太大

javascript - getInstalledRelatedApps() API 未检测到已安装的应用程序

jquery - 边框颜色在 IE 中不起作用

ASP.net - 使用 jQuery 多文件上传插件进行多上传

javascript - 如何在不在新标签页中打开图片的情况下点击 anchor 标签下载图片文件?