【问题标题】:Laravel Form post to url does not show anything when I DD my request当我 DD 我的请求时,Laravel Form post to url 不显示任何内容
【发布时间】:2020-03-06 20:02:06
【问题描述】:

基本上,我正在尝试通过具有表单数据的模式向我的控制器发送发布请求以保存一些值。但是,当我到达我的控制器并尝试 dd 我的值时,我的终端没有任何反应。我在这里做错了吗?

控制器:-

public function acceptPayment(Request $request, $id){
    $input = $request->all();
    dd($input);
}

刀片:-

<div id="modal-remarks" class="modal fade" role="dialog">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
       <button type="button" class="close" data-dismiss="modal">&times;</button>
       <h4 class="modal-title">Payment Summary</h4>
      </div>
      <div class="modal-body">
       <form id="feedback-form" name="feedback-form" action={{ url("/supplier/company-order/accept-payment/".$companyOrder->id) }} method="POST">
       {!! csrf_field() !!}
       <p><b>Payment Method</b></p>
       <div class="radio">
          <label><input type="radio" name="optradio" id="cc">Credit Card</label>
       </div>
       <div class="radio">
          <label><input type="radio" name="optradio" id="cdm">Cash Deposit</label>
       </div>
       <div class="radio">
          <label><input type="radio" name="optradio" id="ofpx">Offline Payment</label>
       </div>
       <div class="radio">
          <label><input type="radio" name="optradio" id="cheque">Cheque</label>
       </div>
       <div class="radio">
          <label><input type="radio" name="optradio" id="others">Others</label>
       </div>
       <div class="content">
        <p><b>Remarks</b></p>
       <div class="form-group pad_t--15">
        <textarea class="form-control" name="remark"></textarea>
       </div>
      </div>
      </form>
      </div>
      <div class="modal-footer">
        <button type="submit" class="btn btn-sd btn--submit-feedback">Submit</button>
      </div>
     </div>
    </div>
 </div>

路线:-

Route::post('/supplier/company-order/accept-payment/{id}', [
    'uses' => 'CompanyOrderController@acceptPayment'
]);

在我的终端中,当我点击提交时,什么也没有发生。我根本无法调试这个。这里有什么问题吗?

【问题讨论】:

  • 转储你通过 dd() 得到的结果;
  • 正如我所说,我什么也得不到。它实际上什么也没显示,我什至没有收到任何错误消息,我的控制台实际上是空白的
  • Route::post('/supplier/company-order/accept-payment/{id}', function(){ dd(); });调试路线并检查您是否在正确的位置
  • 所以我在 web.php 路由中做了一个函数?
  • 所以您是使用 javascript 提交此表单?因为您的按钮不在表单中或引用该表单

标签: php laravel laravel-blade


【解决方案1】:

你可以像下面这样使用

#Controller

public function acceptPayment(Request $request){
$input = $request->all();
dd($input);
}


#Route

Route::post('/supplier/company-order/accept-payment', [
'uses' => 'CompanyOrderController@acceptPayment'
]);


#in html form just add the below line

<input type="hidden" name="id" value="{{$companyOrder->id}}" />

#So the final HTML form should look like below.



    <div id="modal-remarks" class="modal fade" role="dialog">
      <div class="modal-dialog">
        <div class="modal-content">
          <div class="modal-header">
           <button type="button" class="close" data-dismiss="modal">&times;</button>
           <h4 class="modal-title">Payment Summary</h4>
          </div>
          <div class="modal-body">
           <form id="feedback-form" name="feedback-form" action="/supplier/company-order/accept-payment" methoenter code hered="POST">
           {!! csrf_field() !!}
<input type="hidden" name="id" value="{{$companyOrder->id}}" />
           <p><b>Payment Method</b></p>
           <div class="radio">
              <label><input type="radio" name="optradio" id="cc">Credit Card</label>
           </div>
           <div class="radio">
              <label><input type="radio" name="optradio" id="cdm">Cash Deposit</label>
           </div>
           <div class="radio">
              <label><input type="radio" name="optradio" id="ofpx">Offline Payment</label>
           </div>
           <div class="radio">
              <label><input type="radio" name="optradio" id="cheque">Cheque</label>
           </div>
           <div class="radio">
              <label><input type="radio" name="optradio" id="others">Others</label>
           </div>
           <div class="content">
            <p><b>Remarks</b></p>
           <div class="form-group pad_t--15">
            <textarea class="form-control" name="remark"></textarea>
           </div>
          </div>
          </form>
          </div>
          <div class="modal-footer">
            <button type="submit" class="btn btn-sd btn--submit-feedback">Submit</button>
          </div>
         </div>
        </div>
     </div>

【讨论】:

    【解决方案2】:

    使用路由名称而不是 url 。不要使用网址

    像这样

    Route::post('/supplier/company-order/accept-payment','CompanyOrderController@acceptPayment')->name('routeName');
    
    /* Form Action :  */
    
    <form action="{{route('routeName')}}">...</form>
    
    
    

    【讨论】:

      猜你喜欢
      • 2016-10-02
      • 1970-01-01
      • 1970-01-01
      • 2021-07-07
      • 1970-01-01
      • 2020-12-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-27
      相关资源
      最近更新 更多