javascript - jquery ajax传递2个数组,然后拆分它们并在laravel中单独使用它们

标签 javascript jquery arrays ajax laravel

当我更改 View 中下拉列表的值时,我通过 Controller 中的 ajax 调用传递它,以返回 2 个数组,以更改 laravel 中同一 View 中的其他 2 个下拉列表。

Controller 代码是:

public function CreatGegCityAjax($id)
{        
    $offices = \App\office::where("city_id",$id)->orderBy('name','asc')->get()->pluck('name','id');
    $chars = \App\Char::where("city_id",$id)->orderBy('name','asc')->get()->pluck('name','id');

    return json_encode(array('offices' => "$offices",'chars' => "$chars"));
} 

View 中的代码是

$('select[name="city_id"]').on('change', function() {
        var cityID = $(this).val();

        if(cityID) {
            $.ajax({
                url: '/admin/gegonos/ajax/city/'+cityID,
                type: "GET",
                dataType: "json",                    
                success:function(data) {   

                $('select[name="office_id"]').empty();

                $.each(data, function(key, value) {
                   $('select[name="office_id"]').append('<option value="'+ key +'">'+ value.offices +'</option>');
                });    

                $('select[name="char_id"]').empty();

                $.each(data, function(key, value) {
                   $('select[name="char_id"]').append('<option value="'+ key +'">'+ value.chars +'</option>');
                });    
                }                    
            });
        }else{
            $('select[name="office_id"]').empty();
            $('select[name="char_id"]').empty();
        }
    });      

这没有错误,但它没有在下拉列表中获取值。它显示“未定义”。 如何使用右侧下拉列表中的每个数组拆分 json 数据的值? 谢谢

最佳答案

在你的 Controller 中尝试一下:

return response()->json(['offices'=>$offices, 'chars'=>$chars]);

请参阅此处有关 Laravel json 响应的信息:http://coursesweb.net/laravel/responses#anc_jre

  • 然后,将 console.log(data) 放入 success:function 中,在控制台中查看收到的响应,并根据其结构对其进行解析。

关于javascript - jquery ajax传递2个数组,然后拆分它们并在laravel中单独使用它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45453740/

相关文章:

javascript,将参数传递给函数内闭包内的回调

javascript - Java 小程序和 javascript

带有 JQuery POST 的 Javascript 函数始终返回未定义

javascript - 尝试使用 jQuery 清除表单输入,以便我可以将其添加回表单

javascript - 解析 json 编码的数组并获取值

C++ (gcc/g++) 两个巨大的字符串数组需要很长时间才能编译

javascript - 在线弹出网站消息

javascript - 复制粘贴防止JS代码没有禁用输入(搜索字段)元素?

arrays - 我们如何根据运行时性能在两种排序算法之间切换?

javascript - 如何在 JavaScript 中迭代对象?