繁体   English   中英

在 Laravel 中,如何简单地将数据从 js 传递到 controller 返回查看?

[英]In Laravel, how to simply pass data from js to controller back to view?

我基本上需要在我的刀片视图中单击一个按钮,该按钮在我的 js 文件中触发 function,然后将一些值发送到 controller 并返回视图。 使用下面的代码,我是否需要为此创建路线? 谢谢

view:
<div id="sendAsEmailTest">SEND AS EMAIL TEST</div>


js:
$('#sendAsEmailTest').on('click', function () {
  $.ajax({
    headers: {
       'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
     },
    type: "POST",
    url: "FormController/TestFunction",
    data: { name: "John" }
  }).done(function( msg ) {
    // alert( "Data Saved: " + msg.name );
  });
});


FormController:
public function TestFunction(Request $request)
     {
       return view('calculator.calculator',
         [
         'testdata' => $request,
         ]
       );
     }

感谢@ßãlãjî 的帮助。 不得不稍微调整一下,但现在似乎工作正常:

js:
$('#sendAsEmailTest').on('click', function () {
  $.ajax({
    headers: {
       'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
     },
    type: "POST",
    url: "/formControllertestfunction",
    data: { name: "John" }
  }).done(function( msg ) {
    // alert( "Data Saved: " + msg.name );
  });
});

route:
Route::post('formControllertestfunction','FormController@TestFunction')->name('formControllertestfunction');

controller:
public function TestFunction(Request $request) {
         return view('calculator.back',
           [
             'displayName' => $request->name ,
           ]);
       }

你的路线应该是张贴

route::post('formController/testfunction'@'FormController@TestFunction')

只是

 public function TestFunction(Request $request)
         {
         dd($request->name)<---- you get your attribute  value here
         }
then correct

js:

$('#sendAsEmailTest').on('click', function () {
  $.ajax({
    headers: {
       'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
     },
    type: "POST",
    url: "formController/testfunction",<------------------all letters in small
    data: { name: "John" }
  }).done(function( msg ) {
    // alert( "Data Saved: " + msg.name );
  });
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM