Laravel视图显示在chrome开发工具上,而不是重定向到刀片服务器

时间:2019-05-15 12:42:33

标签: javascript php ajax firebase laravel-5

Good Day stackoverflow-Devs,

我正在研究一个广告系列项目,在发布之前,您可以在其中创建,编辑和查看广告系列。我正在使用MySQL和Firebase实时数据库来存储数据。我写了一个JavaScript for循环,里面有一个带ajax调用的if语句,用于将数据发布到laravel控制器,在该控制器中,控制器只是将数据传递到视图。

我尝试使用以下查看方法:

 return view('view-campaign')->with('img',$img); //This one used to work perfectly

和:

 return redirect('view-campaign')->with('img',$img);

最后:

 return view('view-campaign', ['img',$img]);

这是我的源代码:

按钮

<td>
                                        <a onclick="viewCampaign('{{$item->id}}')" class="btn btn-success mb-2"
                                           data-toggle="tooltip" title="view campaign">
                                            <i class="fa fa-edit"></i> 
                                        </a>
                                  </td>

Javascript函数

function viewCampaign(id){
        console.log(id);
        // Your web app's Firebase configuration
        var firebaseConfig = {
            apiKey: "apiKey",
            authDomain: "authDomain",
            databaseURL: "databaseURL",
            projectId: "projectId",
            storageBucket: "storageBucket",
            messagingSenderId: "messagingSenderId",
            appId: "appId"
        };
        // Initialize Firebase
        firebase.initializeApp(firebaseConfig);
        database = firebase.database();
        var ref = database.ref("CampaignCollection");

        //retrieve firebase stored data
        ref.on('value', function getData(data){
            var obj = data.val();
            var keys = Object.keys(obj);

            for(var i = 0; i < keys.length; i++) {
                var k = keys[i];
                var F_id = obj[k].id;
                var img = obj[k].Poster;
                var name = obj[k].Name;

                if(id == F_id){
                    $.ajax({
                        type: "POST",
                        url: "/viewCampaign",
                        data: {
                            'img': img,
                            "_token": "{{ csrf_token() }}",
                        },
                    })
                }
            }
        })
    }

查看广告系列路线

  Route::post('viewCampaign','CampaignController@viewCampaign');

查看广告系列控制器

public function viewCampaign(){

        $img = $_POST['img'];

        return view('view-campaign')->with('img',$img);

    }

响应

enter image description here

期望的结果是将结果重定向到刀片,并显示为网页,而不是开发工具的响应。

1 个答案:

答案 0 :(得分:0)

您正在做的是将ajax请求发送到正常的Web路由。它将返回一个网页。这样该网页将作为ajax响应返回。您可能需要作为表单请求提交详细信息。