Lavarel 프레임워크에서 양식을 제출하기 위해 Ajax를 사용하는 예 공유

小云云
풀어 주다: 2023-03-19 11:58:01
원래의
2115명이 탐색했습니다.

Laravel은 Cross-Site 공격을 방지하기 위해 Post Form으로 데이터를 제출할 때 {{csrf_field()}}를 추가해야 하기 때문에 이 글에서는 주로 Ajax를 사용하여 Lavarel 프레임워크에서 Form을 제출하는 방법을 살펴보겠습니다. . 모든 사람에게 도움이 되기를 바랍니다.

laravel 소개:

Laravel은 간단하고 우아한 PHP 웹 개발 프레임워크(PHP 웹 프레임워크)입니다. 누들과 같은 지저분한 코드에서 벗어날 수 있으며 완벽한 네트워크 앱을 구축하는 데 도움이 될 수 있으며 모든 코드 줄은 간결하고 표현력이 뛰어납니다. "개발"은 지루한 "베이스 코드"가 아닌 창의적인 정신 작업이어야 합니다.

바로 요점을 말하자면, laravel이 post 형식으로 데이터를 제출할 때 크로스 사이트 공격을 방지하기 위해 {{csrf_field()}}를 추가해야 하므로 양식을 제출할 때 추가하는 것이 당연합니다. 아약스를 사용합니다.

인터넷에서 많은 솔루션을 읽었습니다.

1. 먼저 템플릿에 메타를 추가합니다.

<meta name="_token" content="{{ csrf_token() }}"/>
로그인 후 복사

2. Ajax 메서드에

headers: {
'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content')
},
로그인 후 복사

를 추가합니다. 메서드를 사용하면서 매우 유용한 jquery 함수인 $().serialize() 및 $().serializeArray()를 발견했습니다. 코드에서 후자를 사용하는데, 이는 양식의 데이터를 얻을 수 있고 Ajax를 통해 직접 전송하는 것은 정말 놀랍습니다. !!! (나의 무지가 모두를 웃게 만든다)

$(form[1]).submit(function(event){
    var data = $(form[1]).serializeArray();
    // console.log(data);
    $.ajax({
      type:'post',
      url:'/basic',
      data:data,
      headers: {
  'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content')
},
      success:function(msg){
        if (msg) {
          $('.basicEdit').hide();
          $('.basicShow').show();
          $('.basicShow span').html(data[1].value+' | '+data[2].value+' | '+data[3].value+' | '+data[4].value+'<br>'+data[5].value+' | '+data[6].value+' | '+data[7].value);
        }
      },
    });
    // event.preventDefault();
    return false;
  });
로그인 후 복사

3 그런 다음 $req->양식 이름으로 컨트롤러 메서드에서 데이터를 가져옵니다.

public function basic(Request $req){
   // return $req->gender;
   $uid = Auth::user()->uid;
   // return $uid;
   // $inf = new \App\Info;
   $inf = Info::where('uid',$uid)->first();
   // return $inf;
   $inf->name = $req->name;
   $inf->gender = $req->gender;
   $inf->topDegre = $req->topDegre;
   $inf->workyear = $req->workyear;
   $inf->tel = $req->tel;
   $inf->email = $req->email;
   return $inf->save()?"ok":"fail";
  }
로그인 후 복사

요약하자면:

제가 언급한 모든 단계가 필요하다고 생각합니다!! !, 내 콜백 함수에 작성된 코드는 양식에서 얻은 데이터를 다시 인쇄하는 것입니다. 필요하지 않은 것은 무시하고 PHP 초보자가 제시하는 코드를 보면 됩니다.

관련 권장 사항:

Ajax 제출 양식 페이지가 매우 빠르게 새로 고쳐집니다. 설명 예시

Ajax 제출 양식을 확인하는 jQuery Validator의 방법과 Ajax 매개변수 전달 방법에 대한 자세한 설명 예시

ajax 제출을 구현하는 jquery의 두 가지 방법 양식

위 내용은 Lavarel 프레임워크에서 양식을 제출하기 위해 Ajax를 사용하는 예 공유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!