Laravel-Ajax发布并使用数据转到另一个视图

时间:2019-01-10 16:27:39

标签: laravel laravel-5

我一直在搜寻,但是没有运气,我尝试实现许多事情,但是没有成功的秘诀,所以这就是我的情况:

在特定点上,用户处于视图中,在该视图中,填写了某些字段后,他可以保存保存并创建

第一个正常运行,我将ajax发布到我的控制器方法并返回json响应,但用户通常保持在同一视图中。

第二个(当他保存并创建时)我正在发送一个变量来准确地说明这一点,并且由于这种选择,必须将用户定向到另一个视图以“创建”但我需要数据之前保存的文件会自动填充新表单中的某些字段(假设已创建)...所以我的代码是:

我的ajax:

$.ajax({
     method: 'POST',
     url: '/Cliente/insertEditCliente',
     dataType: "json",
     data: {"_token": "{{ csrf_token()}}", "mainId":$('#mainId').val(),values,"btnId":this.text},
     success: function(response){
        if(response.titulo != "Erro!"){
          let dados = response['dados'];
          window.location = '{{ route("formAngariacao",[null]) }}'+'/?dados='+dados;
                    }
                },
                error: function(jqXHR, textStatus, errorThrown) { // What to do if we fail
                    // console.log(JSON.stringify(jqXHR));
                    // console.log("AJAX error: " + textStatus + ' : ' + errorThrown);
                }
            });

在我的控制器方法中,我有一个if语句来检测它是否只是保存或保存并创建:

if($request->post('btnId') == "Guardar"){
                return response()->json(["titulo"=>"Ok!","mensagem"=>"Cliente Alterado com sucesso!","tipo"=>"success"]);
            }
            else{
                return response()->json(["titulo"=>"Ok!","mensagem"=>"Cliente Alterado com sucesso!","tipo"=>"success","dados"=>$request]);
            }

但是现在,在我的刀片视图中,我需要读取该数组“ dados” ,该数组对应于$ request变量并具有我需要的所有数据。

我该怎么做?这是最佳做法吗?

感谢您的宝贵时间。

0 个答案:

没有答案