Laravel after ajax sucesss calling another controller with data
目前我可以通过 ajax 将表单数据传递给我的控制器以插入到数据库中。这工作正常,插入后我将从控制器获取数据并仅在此 ajax 成功后传递给另一个控制器。目前卡在这里,因为我正在使用这个方法 window.location.href.
1
2 3 4 5 6 7 |
$.ajax({
method:“POST”, url:“{{ URL::asset(‘paysubmit’) }}”, data: {eID:eID,amount:amount,“_token”:“{{ csrf_token() }}” }, success: function(data) { window.location.href=“{{ URL::asset(‘/cds’) }}”; } |
目前在支付提交控制器中,我正在使用此方法返回 view(‘cds’)->with($data);,但我需要在此 ajax 中执行此操作,因为此代码在 php 中?我需要即兴创作这个 window.location.href=”{{ URL::asset(‘/cds’) }}”;?
- 将 {{ URL::asset(‘/cds’) }} 更改为 {{ url(‘cds’) }}
- 您想在 ajax 成功时将数据传递给其他控制器的其他方法。对?
- 我想传递数据视图(\\’cds\\’)->with($data);
- @Rahul是的,你是对的,我想在ajax成功时将数据传递给其他控制器的其他方法。
您可以使用以下两种方法中的任何一种来解决您的问题:
Make another call inside your ajax success function and pass the data received from your first call to second call.
In your first controller method after you get the data, call second controller method and then return the result.
您要实现的目标是不合法的,因为您将视图返回到基本上是 html 的 ajax 成功,一旦您重定向到另一个 url,您将丢失数据。
- 您可以继续使用上述任何一种方式
- 我认为,第二个是更可行的解决方案。
- 取决于你想对你的数据做什么
- @rahul这是如何详细工作的在您获取数据后的第一个控制器方法中,调用第二个控制器方法然后返回结果。?目前在我的控制器中,我有这个 return view(‘cds’)->with($data);但它不会去控制器或者它继续返回到第一个调用 ajax 函数?
- 而不是返回视图调用其他控制器并在方法中传递数据
- @rahul 如何调用另一个控制器并传递数据而不是查看语法是什么?
- 请参阅stackoverflow.com/questions/30365169/…
- @rahul 我试过这个 return Redirect::route(‘cdscontroller/78’);它也不起作用
- 您到底想做什么,为什么要重定向
- @rahul我想重定向到该路线本身,因为我已经定义了这条路线 Route::get(‘cdscontroller/{ID}’, ‘CdsController@index’);我收到错误 Route [cdscontroller] not defined
- 尝试 return redirect()->route(‘route.name’, [$param]);
- @rahul 一样
- 那么问题是你有一个ajax调用所以你返回的任何东西都会被传递给ajax成功,所以我认为你需要尝试方法1
- 您是否仅从第一种方法返回 id 为 78
- @rahul 是的,我从我的第一种方法返回 78,你是对的
- 然后在您的 ajax 中写入 window.location.href = ‘/cdscontroller’+data ,其中数据来自成功(数据)
您可以在第一个 ajax 请求的 success 回调中编写另一个调用。并在第二次 ajax 调用中使用从第一次调用中收到的 data。
1
2 3 4 5 6 7 8 9 10 11 12 |
$.ajax({
method:“POST”, url:“{{ ‘/home/view’ }}”, data: { eID:eID}, success: function(data){ if (data){ $.ajax({ method=“POST”, //other ajax settings here. }) } }); |
- 我不想要另一个 ajax,因为一旦它的 ajax 然后它一直在后面等待?
来源:https://www.codenong.com/44540402/