【问题标题】:AJAX Laravel - Send form data to emailAJAX Laravel - 将表单数据发送到电子邮件
【发布时间】:2016-09-13 14:30:37
【问题描述】:
  Now i send my form data to email account, exemple@google.com, using function: 


         public function ContactExemple()
            {
                $email = Input::get('email');
                $subiect = Input::get('phone');
                Mail::send('email', [
                    'name'=>Input::get('name'),
                    'email'=>$email,
                    'phone'=>$phone,
                    'msg'=>Input::get('msg')
                ], function($m) use($email, $subiect) {
                    $m->from($email);
                    $m->to(' exemple@google.com')->subject($subiect);
                });
                return Redirect::to(URL::previous() . "#contact_form")->with('message', 'THANKS FOR YOUR MSG!');
            }

我的观点:

  <form action="{{url('/'.$lang)}}" method="POST" >
                <input type="hidden" name="_token" value="{{ csrf_token() }}"> {!! csrf_field() !!}
    <input type="text"  name="name">
    <input type="email" name="email" type="email">
    <input type="text" name="phone" type="text">
    <textarea name="msg"></textarea>
                   <input type="submit" value="submit" name="submit">     </input>
                 @if(Session::has('message')) <p class="alert alert-info">    {{Session::get('message')}} </p> @endif
  </form>

路线:

 Route::get('/', 'HomeController@index');
 Route::post('/', 'HomeController@ContactExemple');

我需要使用 AJAX 执行此操作,但找不到任何可以帮助我执行此操作的东西,有很多简单的 ajax 发布请求示例,但我需要将其与发送到我的电子邮件帐户集成表格数据。

【问题讨论】:

    标签: php ajax forms laravel email


    【解决方案1】:

    首先,您需要更改从控制器接收您的 ContactExemple 数据的方式,以访问使用 js 从您的视图发送的帖子数据,应该是这样的:

     public function store(Request $request)
     {
        $name = $request->input('name');
    
        //
     }
    

    您应该查看文档,以检查您应该如何处理数据 https://laravel.com/docs/5.3/requests

    【讨论】:

      【解决方案2】:

      你可以试试这个。

      JS

      $(function(){
        $("#myform").submit(function(e){
          e.preventDefault();
          var form = $(this);
      
          $.ajax({
            type: "POST",
            url: "/my/url/",
            data: form.serialize(),
          });
        });
      });
      

      路线

      Route::post('/my/url/','HomeController@conatact_example');
      

      HTML

      <form id="myform" method="POST" >
        <input type="hidden" name="_token" value="{{ csrf_token() }}"> {!! csrf_field() !!}
        <input type="text"  name="name">
        <input type="email" name="email" type="email">
        <input type="text" name="phone" type="text">
        <textarea name="msg"></textarea>
        <input type="submit" value="submit" name="submit"></input>
        @if(Session::has('message')) <p class="alert alert-info">{{Session::get('message')}} </p> @endif
      </form>
      

      HomeController.php

      public function conatact_example(Request $request){
         $name = $request->input('name');
         // your logic
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-06-05
        • 2012-07-02
        • 1970-01-01
        • 2013-10-05
        • 1970-01-01
        • 1970-01-01
        • 2013-12-26
        • 2017-01-30
        相关资源
        最近更新 更多