Laravel抛出方法NotAllowedHttpException错误
单击“发送电子邮件和发送短信”按钮时遇到问题的客户页面的My Routes.php文件Laravel抛出方法NotAllowedHttpException错误,laravel,Laravel,单击“发送电子邮件和发送短信”按钮时遇到问题的客户页面的My Routes.php文件 Route::get('/customer', 'CustomerController@showCustomers'); Route::get('/customer/add', 'CustomerController@addNewCustomer'); Route::post('/customer/add', 'CustomerController@insertCustomer'); Route::get
Route::get('/customer', 'CustomerController@showCustomers');
Route::get('/customer/add', 'CustomerController@addNewCustomer');
Route::post('/customer/add', 'CustomerController@insertCustomer');
Route::get('/customer/delete/{id}', 'CustomerController@deleteCustomer');
Route::get('/customer/edit', 'CustomerController@editCustomer');
Route::post('/customer/edit', 'CustomerController@updateCustomer');
Route::get('/search-customers', 'CustomerController@searchCustomers');
Route::post('/customer/set_type', 'CustomerController@setType');
Route::get('/customer/send_sms', 'CustomerController@sendNotification');
Route::get('/customer/send_email', 'CustomerController@sendEmail');
Customer.blade文件
<?php
include(app_path().'/includes/reports.php');
?>
@extends('layouts.dashboard')
@section('page_heading','Customers')
@section('section')
<style type="text/css">
#customer_table_filter {
display: none;
}
</style>
<div class="col-sm-12">
<div class="row">
<div class="col-lg-3 col-md-6">
<div class="panel panel-primary">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<i class="fa fa-users fa-5x"></i>
</div>
<div class="col-xs-9 text-right">
<div class="huge"><?php echo $rowcount ?></div>
<div>Total Customers</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div></div>
<hr>
<form role="form" id="search_form" class="" action="{{ url('search-customers')}}" method="get">
<!-- <input type="hidden" name="_token" value="{{ csrf_token() }}"> -->
<div class="col-sm-3">
<div class="input-group custom-search-form">
<input type="text" class="form-control" id="customer_search" name="first_name" placeholder="Search Customers by name...">
<span class="input-group-btn">
<button class="btn btn-default" type="submit">
<i class="fa fa-search"></i>
</button>
</span>
</div>
</div>
<div class="col-sm-3">
<div class="input-group custom-search-form">
<input type="text" class="form-control" id="mobile_number" name="mobile_number" placeholder="Search Customers by phone...">
<span class="input-group-btn">
<button class="btn btn-default" type="submit">
<i class="fa fa-search"></i>
</button>
</span>
</div>
</div>
<br><br><br>
<div class="col-sm-3">
<div class="input-group custom-search-form">
<input type="text" class="form-control" id="branch" name="branch" placeholder="Search Customers by branch...">
<span class="input-group-btn">
<button class="btn btn-default" type="submit">
<i class="fa fa-search"></i>
</button>
</span>
</div>
</div>
<div class="col-sm-3">
<div class="input-group custom-search-form">
<input type="text" class="form-control" id="customer_type" name="customer_type" placeholder="Search Customers by type...">
<span class="input-group-btn">
<button class="btn btn-default" type="submit">
<i class="fa fa-search"></i>
</button>
</span>
</div>
</div>
<input class="btn btn-primary" name="submit" type="submit" value="Search"/><br><br>
</form>
<div class="col-sm-12">
<div class="row">
<!-- <form action="{{ url('customer/set_type')}}" class="" id="customer_set_type" method="post" role="form" /> -->
<form action="" class="" id="customer_set_type" method="post" role="form" />
<div style="position: absolute;top: -95px;right: 0;">
<a class="btn btn-primary" href="{{ url('/customer/add') }}">Add new Customer</a>
<input formaction="{{ url('customer/print_list')}}" class="btn btn-primary" name="print_data" type="submit" value="Print Data"/>
</div><br><br><br>
<div style="position: absolute;right: 0;margin-top: -105px;z-index: 999999;">
<input name="_token" type="hidden" value="{{ csrf_token() }}">
<input formaction="{{ url('customer/set_type')}}" class="btn btn-primary" name="mark_as_loyal" type="submit" value="Mark As Loyal Customers"/>
<input formaction="{{ url('customer/set_type')}}" class="btn btn-primary" name="mark_as_regular" type="submit" value="Mark As Regular Customers"/><br><br>
</div>
@if (Session::has('succMessage'))
<div class="alert alert-success" style="position: absolute;margin-top: -50px;">{{ Session::get('succMessage') }}</div>
@elseif (Session::has('errMessage'))
<div class="alert alert-danger" style="position: absolute;margin-top: -50px;">{{ Session::get('errMessage') }}</div>
@endif
@section ('cotable_panel_title','Customer List')
<div class="col-sm-12">
@section ('cotable_panel_body')
<!-- <div id="control-panel" onclick="cbclick(event)">
<label><input type="checkbox" name="checkbox" id="checkbox-filter1"> Loyal Customers</label>
<label><input type="checkbox" name="checkbox" id="checkbox-filter2"> Regular Customers</label>
</div> -->
<table class="table table-hover table-striped table-bordered" id="customer_table">
<thead>
<tr>
<th><input type="checkbox" name="checkAll" id="checkAll"></th>
<th>Sr. No.</th>
<th>Name</th>
<th>Email</th>
<th>Address</th>
<th>Phone</th>
<th>Type</th>
<th>Total Orders</th>
<th><a href="{{ $purchase_sort }}" class="ui-btn ui-icon-refresh ui-btn-icon-left">Total Amount Purchased</a></th>
<th>Branch</th>
<th>Actions</th>
</tr>
</thead>
<?php
$i = 1;
?>
<tbody>
<tr>
@foreach ($customers as $key=>$customer)
<td><input type="checkbox" name="customer_details[]" class="checkItem" value="{{$customer->id}}|{{$customer->first_name}}|{{$customer->email}}|{{$customer->mobile_number}}|{{$customer->address}}"></td>
<td><?php echo $key + 1;?></td>
<td><a href="{{ URL::to('customer/edit?id=' . $customer->id) }}">{{ $customer->first_name }}</a></td>
<td style ="word-break:break-all;">{{ $customer->email }}</td>
<td style ="word-break:break-all;"><?php if (strlen($customer->address) > 25) {
echo $customer->address = substr($customer->address, 0, 25) . "...";
}
?>
</td>
<td>{{ $customer->mobile_number }}</td>
<td>{{ ($customer->customer_type != "null") ? $customer->customer_type : "-" }}</td>
<td>{{ $customer->total_orders }}</td>
<td>{{ $customer->total_purchased_amount }}</td>
<td>{{ $customer->branch }}</td>
<td class="customer-list-actions">
<a class="btn btn-primary edit-btn-lime-green" href="{{ URL::to('customer/edit?id=' . $customer->id) }}"><i class="fa fa-edit"></i></a>
@if(Auth::user()->hasRole('owner'))
<a class="btn btn-primary" href="{{ URL::to('customer/purchase/purchase?customer_id= ' . $customer->id) }}"><i class="fa fa-shopping-cart"></i></a>
<a class="btn btn-danger delete-btn-vivid-red" onclick="return confirm('Are you sure you want to delete this record?')" href="{{ URL::to('customer/delete/delete?delete_customer= ' . $customer->id) }}"><i class="fa fa-trash-o"></i></a>
@endif
</td>
</tr>
<?php $i++;?>
@endforeach
</tbody>
</table>
<div style="position: absolute;right: 50px;">
<input class="btn btn-primary" name="send_sms" type="submit" value="Send SMS"/>
<input class="btn btn-primary" name="send_email" type="submit" value="Send Email"/><br><br>
</div>
<?php
echo $customers->render();
?>
<div style="position: absolute;right: 50px;">
<input class="btn btn-primary" name="send_sms_to_all" type="submit" value="Send SMS to all customers"/>
<input class="btn btn-primary" name="send_email_to_all" type="submit" value="Send Email to all customers"/><br><br>
</div><br/><br/><br/><br/>
@endsection
@include('widgets.panel', array('header'=>true, 'as'=>'cotable'))
</div>
</div>
</div>
</form>
<script type="text/javascript">
$(".send_noti").click(function(e) {
if (!$('input:checkbox').is(':checked')) {
alert("Please select atleast one customer to send notification!");
e.preventDefault();
};
$("#checkAll").click(function() {
$('input:checkbox').not(this).prop('checked', this.checked);
});
$('form#search_form').submit(function() {
var input1 = $.trim($('#customer_search').val());
var input2 = $.trim($('#mobile_number').val());
var input3 = $.trim($('#branch').val());
var input4 = $.trim($('#customer_type').val());
if (input1 === '' && input2 === '' && input3 === '' && input4 === '') {
alert('Please enter your search query!');
return false;
}
});
</script>
@stop
如果要在单击时发送电子邮件,请更改此选项:
<form action="" class="" id="customer_set_type" method="post" role="form" />
如果您想同时发送短信和电子邮件,您需要创建两个表单或在代码中添加一些标志。您的表单使用
POST
方法设置,而路由为GET
还请注意,所有按钮都类似于提交到同一位置。也许最好使用JavaScript发送此请求
首先:下次只发布相关代码。不要把你所有的东西都贴出来
源代码相当混乱
MethodNotAllowedHttpException表示您正在向GET路由发送帖子,反之亦然
这些路由需要“POST”请求,如果它们收到GET请求,则将抛出MethodNotAllowedHttpException:
Route::get('/customer/send_sms', 'CustomerController@sendNotification');
Route::get('/customer/send_email', 'CustomerController@sendEmail');
通过单击下面的“提交按钮”type=Submit向服务器发送post请求
<input class="btn btn-primary" name="send_sms" type="submit" value="Send SMS"/>
<input class="btn btn-primary" name="send_email" type="submit" value="Send Email"/>
将表单操作指向正确的路由URL
<form action="/customer/send_email" id="customer_set_type" method="post" role="form" />
下次不要粘贴所有代码,只粘贴相关代码,因为现在很难找到正确的部分。这可能是因为您试图在get路线上发布的路线错误,或者是因为您的from操作和路线不匹配。如果您的表单操作是get,路由将是route::get,如果您的表单操作是post,那么您的路由将是route::postChecked,在您的代码中,这里是表单操作empty@Jessedegans下次我会确定的。所以很抱歉,非常感谢你指出它对我很有吸引力。谢谢你的回复,它确实帮助了我。但上述评论的重点要突出得多,我认为这一点是正确的。谢谢
Route::get('/customer/send_sms', 'CustomerController@sendNotification');
Route::get('/customer/send_email', 'CustomerController@sendEmail');
Route::get('/customer/send_sms', 'CustomerController@sendNotification');
Route::get('/customer/send_email', 'CustomerController@sendEmail');
<input class="btn btn-primary" name="send_sms" type="submit" value="Send SMS"/>
<input class="btn btn-primary" name="send_email" type="submit" value="Send Email"/>
Route::post('/customer/send_sms', 'CustomerController@sendNotification');
Route::post('/customer/send_email', 'CustomerController@sendEmail');
<form action="/customer/send_email" id="customer_set_type" method="post" role="form" />