Laravel에서 vue.js를 사용할 때 $ .ajax에서 성공 또는 응답 완료 문제

Pathros

사용자가 텍스트 영역 안에 텍스트 만 입력해야하는 간단한 양식이 있습니다. 사용자가 javascript 내에서 제출 버튼을 클릭하면 vue 및 ajax를 호출하여 해당 텍스트를 데이터베이스에 삽입합니다.

내 문제는 사용자가 제출을 클릭 한 직후 텍스트 영역을 지우고 싶지만 텍스트가 데이터베이스에 저장된 후에도 텍스트가 여전히 존재한다는 것입니다. 지속됩니다. vue.js와 ajax를 사용하고 있기 때문에 양식 지우기를 진행하기 위해 기다리는이 .done (성공) 콜백 함수가 있습니다.

아니면 텍스트가 데이터베이스에 저장된 경우 텍스트 영역을 지우는 다른 아이디어가 있습니까?

다음은 양식의 블레이드 코드입니다.

<div class="row" id="timeline">
    <div class="col-md-4">
        <form action="#" v-on:submit="postStatus">{{-- Name of the method in Vue.js --}}
            <div class="form-group">
                <textarea class="form-control" rows="5" maxlength="140" autofocus placeholder="What are you upto?" required v-model="post" id="textareapost"></textarea>
            </div>
            <input type="submit" value="Post" class="form-control btn btn-info">

            {{ csrf_field() }}

        </form>
    </div>
    <div class="col-md-8">
        Timeline
    </div>
</div>

이것은 내 컨트롤러입니다.

<?php

namespace App\Http\Controllers;

use App\Post;
use Illuminate\Http\Request;

use App\Http\Requests;

class PostController extends Controller
{
    public function create(Request $request, Post $post)
    {
        //$request->body;
        //Remember, all we really need is the body. Because if create this post through
        //the User model, it'll automatically assign us a user_id

        //validation:
        $this->validate($request,[
            'body'  =>  'required|max:140',
        ]);
        //die('Posted in the controller!: '.$request->body); //$request->get('body');

        //creating the post from the user, from the post that belongs to the user:
        $createdPost = $request->user()->posts()->create([
            'body'  =>  $request->body,
        ]);

        //Now respond with the post that has been created:
        return response()->json($post->with('user')->find($createdPost->id));
    }
}

그리고 지금까지의 자바 스크립트 코드 :

var csrf_token = $('meta[name="csrf-token"]').attr('content');
    /*Event handling within vue*/
    //when we actually submit the form, we want to catch the action
    new Vue({
        el      : '#timeline',
        data    :   {
            post    : '',
            token   : csrf_token,
        },
        methods : {
            postStatus : function (e) {
                e.preventDefault();
                console.log('Posted: '+this.post+ '. Token: '+this.token);
                var request = $.ajax({
                    url         :   '/posts',
                    method      :   "POST",
                    dataType    :   'json',
                    data        :   {
                        'body'  :   this.post,
                        '_token':   this.token,
                    }
                }).done(function (msg) {
                    console.log('Data saved: '+msg);
                    this.post = '';/*Attempting to clear the form*/
                }.bind(this));/*http://stackoverflow.com/a/26479602/1883256*/

                request.done(function( msg ) {
                    console.log('Data saved: '+msg+'. Outside ...');
                    //$( "#log" ).html( msg );
                });

                request.fail(function( jqXHR, textStatus ) {
                    console.log( "Request failed: " + textStatus );
                });
            }
        },
    });

텍스트를 저장 한 후 .done 부분의 console.log 텍스트를 얻지 못했지만 다음과 같은 .fail 메시지가 나타납니다.

요청 실패 : parsererror

컨트롤러의 응답은 다음과 같습니다.

<?php{"id":29,"user_id":1,"body":"Sunday evening post","created_at":"2016-10-09 23:03:11","updated_at":"2016-10-09 23:03:11","user":{"id":1,"firstname":null,"lastname":null,"username":"pathros","email":"[email protected]","created_at":"2016-10-08 05:33:06","updated_at":"2016-10-08 18:57:19"}}

나는 응답에 <?php. Chrome의 요소 검사 도구일까요? 내가 무엇을 놓치고 있습니까? (참고 : jQuery 3.1.1 및 Laravel 5.3을 사용하고 있습니다.)

루이스 크루즈

귀하의 문제는 dataTypeAJAX 옵션 과 관련이 있습니다. 현재 dataType: 'json',서버가 JSON을 반환 할 때 요청이 성공했음을 의미합니다.

그런 것을 반환 return 'ok';하는 경우 AJAX가 실패합니다.

다음과 같은 것을 반환하는지 확인하십시오.

return Response::json(['ok' => 'true']);

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Vue.js에서 sweetalert를 사용할 때 문제

분류에서Dev

scp에 대한 zsh 완료는 원격 서버에 연결할 때 로컬 사용자를 완료합니다.

분류에서Dev

get header () volley에서 Authorization 헤더가있는 사용자 정의 헤더를 추가 할 때 성공 응답을받지 못함

분류에서Dev

Angular 2 또는 Angular 4에서 지시문 또는 재사용 가능한 구성 요소를 사용할 때?

분류에서Dev

AJAX GET 응답 (JSON)의 일부를 문자열 변수에 저장할 때 발생하는 문제

분류에서Dev

백엔드에서 응답이 올 때까지로드 할 GIF 이미지를 제공하는 방법

분류에서Dev

바닐라 Js를 사용하여 이벤트 핸들러에서 innerWidth를 변경할 때 제대로 응답

분류에서Dev

CDN (부트 스트랩, jquery 등)에서 제공되는 공통 파일을 사용할 때 구문 자동 완성

분류에서Dev

Ajax에서 응답을받는 문제

분류에서Dev

Vue-Split-Panel 및 선택 테두리를 사용하여 Vuetify의 응답성에 대한 CSS 문제

분류에서Dev

성공에서 ajax 응답을 얻고 jQuery를 사용하여 변수에 할당하는 방법은 무엇입니까?

분류에서Dev

Flutter에서 Dio를 사용할 때 응답 헤더 무시

분류에서Dev

공유 확장에서 iOS 사진 업로드, 업로드 완료시 응답

분류에서Dev

AJAX 성공 응답에서 HTML 콘텐츠를 대체 할 수없는 이유는 무엇입니까?

분류에서Dev

Vue-Router를 사용할 때 Laravel 앱에서 빈 CSS 파일을 생성하는 Webpack

분류에서Dev

SCP가 성공적으로 완료되지 않았습니다. (1) Ruby를 사용하여 Windows에서 Ubuntu로 업로드하려고 할 때 오류 발생

분류에서Dev

사용자 confimation에 OnBackButtonpressed ()를 사용할 때 DisplayAlert 응답 대기

분류에서Dev

json 응답이 성공해도 배경 이미지를 설정하지 않는 Ajax 완료 기능

분류에서Dev

질문에 대한 응답 성공률이 가장 높은 사용자를 계산하는 SQL 쿼리

분류에서Dev

IE 또는 Safari를 사용할 때 서버 맵 경로 저장 문제

분류에서Dev

완료 또는 실패 할 때까지 2 초마다 응답 상태보기

분류에서Dev

"."와 같은 문자를 입력 할 때 TextFormField에서 전자 메일 자동 완성을 제거하는 방법 또는 "@"?

분류에서Dev

Vue.js를 사용하여 응답 함수 내에서 메서드를 실행하는 방법

분류에서Dev

ServiceStack은 요청 필터에서 응답을 종료 할 때 응답 DTO를 설정합니다.

분류에서Dev

Twilio를 사용하여 SMS를 보내고 전화에서 응답을 기다렸다가 NodeJS에서 요청을 완료하는 방법

분류에서Dev

Jmeter에서 Regex를 사용하는 방법-응답 본문

분류에서Dev

TypeScript 및 Axios를 사용하여 http 호출을 할 때 응답 본문에서 특정 필드를 선택하는 방법

분류에서Dev

Bash에서 중괄호를 사용할 때 탭 완성을 얻는 방법

분류에서Dev

SELECT 문에서 매개 변수를 사용할 때 성능 문제

Related 관련 기사

  1. 1

    Vue.js에서 sweetalert를 사용할 때 문제

  2. 2

    scp에 대한 zsh 완료는 원격 서버에 연결할 때 로컬 사용자를 완료합니다.

  3. 3

    get header () volley에서 Authorization 헤더가있는 사용자 정의 헤더를 추가 할 때 성공 응답을받지 못함

  4. 4

    Angular 2 또는 Angular 4에서 지시문 또는 재사용 가능한 구성 요소를 사용할 때?

  5. 5

    AJAX GET 응답 (JSON)의 일부를 문자열 변수에 저장할 때 발생하는 문제

  6. 6

    백엔드에서 응답이 올 때까지로드 할 GIF 이미지를 제공하는 방법

  7. 7

    바닐라 Js를 사용하여 이벤트 핸들러에서 innerWidth를 변경할 때 제대로 응답

  8. 8

    CDN (부트 스트랩, jquery 등)에서 제공되는 공통 파일을 사용할 때 구문 자동 완성

  9. 9

    Ajax에서 응답을받는 문제

  10. 10

    Vue-Split-Panel 및 선택 테두리를 사용하여 Vuetify의 응답성에 대한 CSS 문제

  11. 11

    성공에서 ajax 응답을 얻고 jQuery를 사용하여 변수에 할당하는 방법은 무엇입니까?

  12. 12

    Flutter에서 Dio를 사용할 때 응답 헤더 무시

  13. 13

    공유 확장에서 iOS 사진 업로드, 업로드 완료시 응답

  14. 14

    AJAX 성공 응답에서 HTML 콘텐츠를 대체 할 수없는 이유는 무엇입니까?

  15. 15

    Vue-Router를 사용할 때 Laravel 앱에서 빈 CSS 파일을 생성하는 Webpack

  16. 16

    SCP가 성공적으로 완료되지 않았습니다. (1) Ruby를 사용하여 Windows에서 Ubuntu로 업로드하려고 할 때 오류 발생

  17. 17

    사용자 confimation에 OnBackButtonpressed ()를 사용할 때 DisplayAlert 응답 대기

  18. 18

    json 응답이 성공해도 배경 이미지를 설정하지 않는 Ajax 완료 기능

  19. 19

    질문에 대한 응답 성공률이 가장 높은 사용자를 계산하는 SQL 쿼리

  20. 20

    IE 또는 Safari를 사용할 때 서버 맵 경로 저장 문제

  21. 21

    완료 또는 실패 할 때까지 2 초마다 응답 상태보기

  22. 22

    "."와 같은 문자를 입력 할 때 TextFormField에서 전자 메일 자동 완성을 제거하는 방법 또는 "@"?

  23. 23

    Vue.js를 사용하여 응답 함수 내에서 메서드를 실행하는 방법

  24. 24

    ServiceStack은 요청 필터에서 응답을 종료 할 때 응답 DTO를 설정합니다.

  25. 25

    Twilio를 사용하여 SMS를 보내고 전화에서 응답을 기다렸다가 NodeJS에서 요청을 완료하는 방법

  26. 26

    Jmeter에서 Regex를 사용하는 방법-응답 본문

  27. 27

    TypeScript 및 Axios를 사용하여 http 호출을 할 때 응답 본문에서 특정 필드를 선택하는 방법

  28. 28

    Bash에서 중괄호를 사용할 때 탭 완성을 얻는 방법

  29. 29

    SELECT 문에서 매개 변수를 사용할 때 성능 문제

뜨겁다태그

보관