javascript - 将 JavaScript 数组从 View 传递到 Laravel Controller

标签 javascript php ajax model-view-controller laravel-5

我正在尝试使用 ajax 将 objs 数组传递给 Laravel Controller 中的函数。发布后我没有收到任何数据。

<script>

        var itemCount = 0;
        var objs=[];
        $(document).ready(function(){


            var temp_objs=[];

            $( "#add_button" ).click(function() {

                var html = "";

                var obj = {
                    "ROW_ID": itemCount,
                    "STREET_ADDRESS": $("#street_address").val(),
                    "CITY": $("#city").val(),
                    "ZIP": $("#zip").val()
                }

                // add object
                objs.push(JSON.stringify(obj));

                itemCount++;
                // dynamically create rows in the table
                html = "<tr id='tr" + itemCount + "'><td>" + obj['STREET_ADDRESS'] + "</td> <td>" + obj['CITY'] + " </td> <td>" + obj['ZIP'] + " </td><td><input type='button'  id='" + itemCount + "' value='remove'></td> </tr>";

                //add to the table
                $("#multiple_table").append(html)

                // The remove button click
                $("#" + itemCount).click(function () {
                    var buttonId = $(this).attr("id");
                    //write the logic for removing from the array
                    $("#tr" + buttonId).remove();
                });

            });

            $("#submit").click(function() {
                $.ajax({
                    url:'/app/Http/Controllers/Search/search_address',
                    type: 'POST',
                    dataType:'json',
                    contentType: 'application/json',

                    data: objs
                });

            });

        });



    </script>

在我的controller函数中是这样的

public function search_address(){
    $data = json_decode($_POST['data'], true);
    print_r($data);
}

我想我在 ajax 中遇到了 url 问题,我不确定如何获取 Controller 的 url。

谢谢

最佳答案

你能改变吗:

$data = json_decode($_POST['data'], true);

到:

$data = json_decode(Input::get('data'));

并确保您有:use Input; 在您的 class extends Controller

之上

看看是否可行。

编辑:还要确保您的路线(在 Controllers 文件夹中)是正确的。

关于javascript - 将 JavaScript 数组从 View 传递到 Laravel Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33276487/

相关文章:

php - 如何使用 PHP 通过 Ajax 提交表单

javascript - 云函数速率限制器,不返回数据

javascript - 如何使用 JQuery 将 div 放置在鼠标单击旁边?

Javascript:在 DOM 中插入新级别

javascript - 如何在 div 中加载 AngularJS

jquery - jquery中的javascript ajax响应

php - 使用 xmlhttprequest 将 javascript 变量传递给 PHP

javascript - 如何使用一个数组作为另一个数组的键?

php - Laravel 5.2 具有多个参数的路由

Ubuntu 20.04 中 MSSQL 的 PHP 驱动程序