相关疑难解决方法(0)

Ajax LARAVEL 419 POST错误

我真的很感激一些帮助.我在这个论坛上发布了大量的解决方案,但我无法让它发挥作用.

我的ajax电话是这样的

$(document).ready(function() {
    $("#company").click(function() {
        $.ajax({
            type: "POST",
            dataType:'html',
            url : "/company",
            success : function (data) {
                $("#result").html(data);
            }
        });
    });
});
Run Code Online (Sandbox Code Playgroud)

我通过我的路线呼叫视图

Route::post('/company', 'Ajaxcontroller@loadContent');
Run Code Online (Sandbox Code Playgroud)

和控制器

public function loadContent()
    {
        return view('listing.company')->render();
    }
Run Code Online (Sandbox Code Playgroud)

我的company.blade.php是

    @foreach ($companies as $company)
            <div class="posting-description">
            <h5 class="header"><a href="#"></a>{{$company->name}}
            </h5>
            <h5 class="header"> {{$company->streetaddress}} {{$company->postalcode}}</h5>  
            <p class="header">
             <span class="red-text"> <?= $service; ?> </span> is available on <span class="green-text"><?php echo $date; ?></span>
           </p>
    @endforeach
Run Code Online (Sandbox Code Playgroud)

我收到了这个错误

POST http://127.0.0.1:8234/company 419 (unknown status)
Run Code Online (Sandbox Code Playgroud)

php ajax jquery laravel

45
推荐指数
3
解决办法
8万
查看次数

Laravel Axios使用Vue失败,状态码为419

概念:我有一个允许用户发布问题的应用程序......当用户点击Ask按钮时,我试图使用Vue.js和Axios提交问题.

问题: 70%的时间问题正确提交,但30%的时间失败并返回"无法加载资源:服务器响应状态为419(未知状态)"

在此输入图像描述

我的Vue组件

<template>
    <div id = "main_question_box" class = "tab-pane fade">
        <div class="panel-body posting-field-box">        
            <textarea name="feed_body" class="summernote posting-field form-control"></textarea>
            <button class = "example-btn btn btn-xs btn-default pull-right">View Question Examples</button>                                    
        </div>

        <div class="panel-footer">
            <ul class="list-inline pull-right">
                <li>
                    <button @click = "sendPost" class="feed-post-btn btn btn-submit btn-sm btn-success pl-l pr-l">
                        <span>Ask</span>
                        <i class="fa fa-paper-plane pl-sm"></i>
                    </button>
                </li>
            </ul>

            <div class="clearfix"></div>
        </div>
    </div>
</template>

<script>

    axios.defaults.headers.common['X-CSRF-TOKEN'] = document.querySelector('meta[name="csrf-token"]').getAttribute('content')

    export default {
        props:['timelineId'],
        data(){
            return {
                feed_body: '',
                timeline_id: this.timelineId,
                type: 'Question', …
Run Code Online (Sandbox Code Playgroud)

ajax http-status laravel-5 axios vuejs2

6
推荐指数
1
解决办法
2640
查看次数

Laravel - CK Editor 在上传图像时返回 419 http 状态

我想使用 ck 编辑器存储我的图像。但即使我将 csrf 令牌设置为请求标头,它也会返回 419 http 状态。

let token = document.head.querySelector('[name=csrf-token]').content,
document.querySelector('#article_editor').on('fileUploadRequest', function (evt) {
    var xhr = evt.data.fileLoader.xhr;
        xhr.setRequestHeader('Cache-Control', 'no-cache');
        xhr.setRequestHeader('X-File-Name', this.fileName);
        xhr.setRequestHeader('X-File-Size', this.total);
        xhr.setRequestHeader('X-CSRF-Token', token);
       xhr.send(this.file);

    // Prevented the default behavior.
       evt.stop()
});
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题 ?

我已经在 head 标签之间设置了 csrf 元数据。尽管如此,我还是不断收到错误..

<head>
...
<meta name="csrf-token" content="{{ csrf_token() }}">
...
</head>
Run Code Online (Sandbox Code Playgroud)

ckeditor laravel laravel-5

2
推荐指数
1
解决办法
3676
查看次数

几次尝试后,laravel 5.5继续在ajax调用中出现419发布错误

我真的很感谢这方面的帮助。我尝试了其他人在其他帖子上建议的所有解决方案,包括:Laravel 5.5 ajax调用419(未知状态)和此Ajax LARAVEL 419 POST错误解决方案。

但是,即使在头部设置了csrf_token元标记,我仍然会收到419错误:

<meta name="csrf-token" content="{{ csrf_token() }}">
Run Code Online (Sandbox Code Playgroud)

在ajax发布调用之前,我像这样设置ajax csrf_token:

$.ajaxSetup({
  headers: {
    'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
  }
});
Run Code Online (Sandbox Code Playgroud)

之后,我将ajax数据中的csrf_token作为变量发送,如下所示:

$.ajax({
        url     : "/getCompare",
        type    :"POST",
        cash    : false,
        data    :{ id : id,_token: '{{csrf_token()}}'},
        success :
           function( response ) {
              $("#compare_products").html(response);
             }
        });
Run Code Online (Sandbox Code Playgroud)

页面的应用方式使用户反复请求ajax调用以比较产品。它在很多尝试下都可以正常工作,但是在特定情况下,会引发419错误。这种情况有时是当我在页面加载后大约3分钟按下一个按钮时,出现了这个错误。有时它会在第三次或第四次尝试时给出错误。重新加载页面后,问题已解决,但仍然按照我解释的方式再次发送该错误。

我的问题是为什么会这样?是3分钟后csrf_token过期还是什么?而且我不想在verifyCsrfToken中间件中添加异常。该问题的解决方案是什么?

PS: leorent的答案是正确的。但是将我的项目上传到实际的在线服务器后。问题已经解决了。我不知道为什么,但是这个问题是因为Windows和在本地主机中本地运行laravel项目。csrf令牌会话在寡妇localhost服务器上经常过期。不用担心,将项目上传到实际服务器后,您的csrf问题将自动得到解决。

php ajax jquery laravel laravel-5.5

1
推荐指数
1
解决办法
2209
查看次数

POST 419(未知状态)laravel错误

我想使用ajax提交我的表单以下是我的javascript

$.ajax({

      type: "POST",
      headers: {
    'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
  }
      url: "http://localhost/shago/register/submit",
      data: user_firstname,

      dataType: "text",
      success: function(resultData) { alert("Save Complete") }
});
Run Code Online (Sandbox Code Playgroud)

我在表单中包含了元标记

<div id="individual" class="hid">
<form method="POST" id="individual_form" name="individual_form" action="{{ route('register.submit') }}">
<meta name="csrf-token" content="{{ csrf_token() }}">
Run Code Online (Sandbox Code Playgroud)

在控制器中我刚刚回复了一条消息,但我得到了

POST http:// localhost/shago/register/submit 419(未知状态)

以上错误可以帮助我,让我知道任何其他输入我知道它主要是由csrf令牌引起的(我已经在web.php和api.php文件中声明了提交路由)

php ajax laravel laravel-5

0
推荐指数
1
解决办法
2万
查看次数

标签 统计

ajax ×4

laravel ×4

laravel-5 ×3

php ×3

jquery ×2

axios ×1

ckeditor ×1

http-status ×1

laravel-5.5 ×1

vuejs2 ×1