JSON.parse:JSON 数据 laravel 第 1 行第 1 列的数据意外结束

你好,当我想在我的文本字段中显示我的查询结果时遇到问题我试图不使用 JSON.parse 但是当我这样做时它没有显示任何内容然后我使用警报并显示我的未定义这是 代码使用警报显示结果


$(document).ready(function(){

    $('#zip_code').blur(function()

    {

        var zip_code=$(this).val();

        if(zip_code != '')

        {

            var _token = $('input[name="_token"]').val();

            $.ajax({

                url:"{{route('complete.zip')}}",

                method:"POST",

                data:{zip_code:zip_code,_token:_token},

                success:function(data)

                {

                    alert(data.value1);


                }

            });

        }

    });

});

当我尝试在控制台中转换 JSON 时,向我展示 SyntaxError: JSON.parse: JSON 数据的第 1 行第 1 列的数据意外结束这是代码


$(document).ready(function(){

    $('#zip_code').blur(function()

    {

        var zip_code=$(this).val();

        if(zip_code != '')

        {

            var _token = $('input[name="_token"]').val();

            $.ajax({

                url:"{{route('complete.zip')}}",

                method:"POST",

                data:{zip_code:zip_code,_token:_token},

                success:function(data)

                {

                    var result = JSON.parse(data);

                   $('#estado').val(result.value1);

                   $('#municipio').val(result.value2);


                }

            });

        }

    });

});

PHP 文件是下一个使用的数据库;类 ClientBusinessController 扩展控制器 {


public function index()

{


    return view("new_client.register_business");

}


public function receiveValueZip(Request $request)

{   

    if(!empty($request->get('zip_code')))

    {


        $result=DB::table('direccion')

        ->select('Calle1','Calle2')

        ->where('Id_Direccion','=',6)

        ->get();

        foreach($result as $r)

        {

            json_encode(array("value1"=>$r->Calle1,"value2"=>$r->Calle2));


        }

    } 

}

有人知道如何解决这个问题吗?非常感谢


小怪兽爱吃肉
浏览 113回答 1
1回答

蝴蝶不菲

json_encode如果多次调用,最终会得到无效的 JSON。相反,您应该完全构建数组结构并json_encode只调用一次。但是我建议使用response()->json并让 Laravel 处理 JSON 序列化:public function index(){    return view("new_client.register_business");}public function receiveValueZip(Request $request){       if(!empty($request->get('zip_code')))    {        $result=DB::table('direccion')        ->select('Calle1','Calle2')        ->where('Id_Direccion','=',6)        ->get();        return response()->json(            $result->map(function ($row) {                return array("value1"=>$r->Calle1,"value2"=>$r->Calle2);            });        );    } }
打开App,查看更多内容
随时随地看视频慕课网APP