Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用Laravel发送跨域Ajax帖子_Javascript_Jquery_Ajax_Laravel_Post - Fatal编程技术网

Javascript 如何使用Laravel发送跨域Ajax帖子

Javascript 如何使用Laravel发送跨域Ajax帖子,javascript,jquery,ajax,laravel,post,Javascript,Jquery,Ajax,Laravel,Post,我正在尝试使用AJAX从我的一个Laravel站点向另一个站点发送跨域post调用 我看到的另一个主题解决了我遇到的关于访问控制头的第一个问题: 我得到了一个419错误,这意味着我没有使用CSRF令牌,但无论是使用本地令牌还是其他域令牌,它都不起作用 var CSRF_TOKEN = {{ csrf_token() }}; $.ajaxSetup( { headers : { 'X-CSRF-TOKEN' : CSRF_TOKEN } } ); var tracking_id = "{{ is

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

我看到的另一个主题解决了我遇到的关于访问控制头的第一个问题:


我得到了一个419错误,这意味着我没有使用CSRF令牌,但无论是使用本地令牌还是其他域令牌,它都不起作用

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等来限制请求


文档:

它不工作不是一个明确的问题陈述。会发生什么?报告了哪些错误?查看浏览器中“开发工具”的“网络”选项卡。你收到你期望的请求了吗?你得到你期望的回应了吗?Laravel的跨域Ajax帖子-你没有。Ajax请求由浏览器中的JavaScript发送。您可能会使用Laravel响应请求,但不会随请求一起发送。这意味着我没有使用CSRF令牌,但无论是使用本地令牌还是其他域令牌,我都会使用本地令牌-您向其发出请求的站点将关心其CSRF令牌…但CSRF令牌的目的是防止跨域触发请求,但您是否有一个端点,您正在发出Ajax请求以防CSRF?crossDomain:true,不执行任何操作,除非您发出一个相同的源请求,该请求将HTTP重定向到不同的源。这在你的代码中可能是毫无意义的。@Quentin我确实包含了错误代码及其含义。我知道拉威尔没有打电话,但这只是我对标题的理解。我使用了另一个站点的CSRF令牌,但这仍然给了我419错误作为响应。CORS策略已阻止从源站访问XMLHttpRequest:对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许源站”标头。您必须更新内容安全策略以接受来自其他域的请求。这是一个服务器配置问题,但我必须在服务器上修复它?怎样顺便说一句,将json发送的数据更改为字符串作为参数。。。idk为什么