2017-04-05 95 views
0

我已經在控制器中創建了一個函數,它接受來自刀片服務器的ajax請求請求,但在ajax點擊後,頁面請求不會重定向到控制器功能。 請告訴我哪裏出現錯誤的URL或控制器。Laravel郵件發送請求失敗使用SMTP與NetworkError:404沒有找到

路線

我目前使用的路由控制器

Route::group(['prefix' => 'admin'], function() 
{ 
    Route::controller('/','DashboardController'); 
}); 

控制器功能

public function PostEmail() 
{ 
    Mail::send('adminpanel.feedback', ['user' => 'testing email'], function ($m) 
    { 
     $m->to('[email protected]')->subject('Your Reminder!'); 
    }); 
    return Response::json(['status' => 1, 'message' => 'record send']); 
} 

Ajax請求

$(document).on('click', '#feedbackbutton', function(e) 
{ 
    e.preventDefault(); 
    $.ajax(
    { 
     url: 'email', 
     type: "post",//use for update 
     data: $('#feedbackform').serialize(), 
     dataType: "json", 
     success: function(data) 
     { 
      if(data.status) 
      {   
       console.log(data.message); 

      } 
      else 
      { 
       console.log('error'); 
      } 
     }, 
     error: function() 
     { 
      console.log('error'); 
     } 
    }); 
}); 

刀片

<div id="feedinfo"></div> 
{{ Form::open(array('url' => 'admin/email','method'=>'post','id'=>'feedbackform')) }} 
<div class="form-group"> 
    {{ Form::label('email', 'E-Mail Address',['class' => 'awesome']) }} 
    <p class="text-danger" id="error_email"></p> 
    {{ Form::text('email',old('email') ,['class' => 'form-control','placeholder'=>'Email-Address']) }} 
</div> 
<div class="form-group"> 
{{ Form::label('message', 'Message',['class' => 'awesome']) }} 
    <p class="text-danger" id="error_message"></p> 
    {{ Form::text('message','' ,['class' => 'form-control','placeholder'=>'Message']) }} 
    </div> 
    <div class="form-group"> 
    {{ Form::button('Submit Query',['id'=> 'feedbackbutton','class'=>'btn btn-success']) }} 
    </div> 
    {{Form::close()}} 
+0

不應該在ajax請求內的網址指向/ admin/email嗎?因爲你在路由文件中有組前綴。 – thisiskelvin

+0

請求將發送到此URL http:// localhost/laravel/admin/email –

+0

請嘗試使用以下路由的請求:Route :: post('email','DashboardController @ PostEmail');看看是否有錯誤 – thisiskelvin

回答

0

我覺得Laravel阻止你的Ajax後,因爲安全CSRF令牌

我建議你javacripts的底部添加:

<script type="text/javascript"> 
     $(function() { 
       $.ajaxSetup({ 
        headers: { 'X-CSRF-Token': $('meta[name="csrf-token"]').attr('content') } 
       }); 
      }); 
    </script> 

其中csrf-token是令牌的元名稱,請確保該名稱正確。

祝你好運