Php ajax成功调用另一个具有数据的控制器后的Laravel

Php ajax成功调用另一个具有数据的控制器后的Laravel,php,jquery,ajax,laravel,url-routing,Php,Jquery,Ajax,Laravel,Url Routing,目前,我可以通过ajax将表单数据传递给控制器,以插入数据库。这工作得很好,在插入之后,我将从控制器获取数据,并仅在ajax成功后传递到另一个控制器。由于我正在使用此方法window.location.href,因此当前在此处被禁用 $.ajax({ method: "POST", url: "{{ URL::asset('paysubmit') }}", data: {eID:eID,amount:amount,"_token": "{{ csrf_token() }}" }, success

目前,我可以通过ajax将表单数据传递给控制器,以插入数据库。这工作得很好,在插入之后,我将从控制器获取数据,并仅在ajax成功后传递到另一个控制器。由于我正在使用此方法window.location.href,因此当前在此处被禁用

$.ajax({
method: "POST",
url: "{{ URL::asset('paysubmit') }}",
data: {eID:eID,amount:amount,"_token": "{{ csrf_token() }}" },
success: function(data) {
    window.location.href = "{{ URL::asset('/cds') }}";
}

在paysubmit控制器中,我当前使用此方法返回带有($data)的
view('cds')->
但是我需要在这个ajax中这样做,因为这些代码是用php编写的?我需要在这个
window.location.href=“{{URL::asset('/cds')}}”上即兴创作

您可以在第一个ajax请求的
success
回调中编写另一个调用。并在第二次ajax调用中使用从第一次调用收到的
数据

$.ajax({
    method: "POST",
    url: "{{ '/home/view' }}",
    data: { eID:eID},
    success: function(data){
       if (data){
           $.ajax({
               method="POST",
               //other ajax settings here.
           })
       }
});

您可以使用以下两种方法中的任意一种来解决问题:

  • 在ajax成功函数中进行另一次调用,并将从第一次调用收到的数据传递给第二次调用

  • 在获取数据后的第一个控制器方法中,调用第二个控制器方法,然后返回结果


您试图实现的是不合法的,因为您返回的是一个ajax成功视图,它基本上是一个html,一旦您重定向到另一个url,您将丢失数据。

更改
{{url::asset('/cds')}
对于
{url('cds')}
您希望在ajax成功时将数据传递给其他控制器的其他方法。对吗?我想用($data)传递数据视图('CD')->@Rahul是的,你是对的,我想在ajax成功的时候把数据传递给其他控制器的其他方法。我不想要另一个ajax,因为一旦它是ajax,它就会一直在后面等待?你可以继续上面提到的任何一种方法,我想,第二个是更可行的解决方案。这取决于你想用你的电脑做什么data@rahul在获取数据后,调用第二个控制器方法,然后返回结果。在第一个控制器方法中,这是如何详细工作的。?目前在我的控制器中,我有一个返回视图('cds')->带有($data);但是它也不会返回到控制器,而是继续返回到第一个调用ajax函数,而不是返回视图,调用其他控制器并在方法中传递数据