如何在ajax成功后展示json?

时间:2017-05-27 04:37:13

标签: php jquery json ajax

我的控制器中有一个查询,它以json格式返回数据,现在我正在尝试使用ajax和jQuery在视图中显示返回的数据。但每次输出都是:[object Object]。我正在寻找错误,如果有人可以提供帮助......

这是ajax代码

<script>
    $('#sub').click(function () {
        var date1=$('#date1').val();
        var date2=$('#date2').val();
        var token=$('#token').val();
        $.ajaxSetup({
            headers: {
                'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content')
            }
        })
        $.ajax
        ({

            url:"{{Url('showJobTime')}}",
            type:'post',
            dataType:'json',
            data:{'date1':date1,'date2':date2,'_token':token,'id':id},
            success:function(response)
            {

                alert(response);//the output is object Object
                //alert('success');
                $.each(response,function(index,element){
                    $('#show').text({text:element.time1});
                 });

            },error:function (error) {

                alert('error');
               // console.log(error);

            }

        });

    });

</script>  

这是控制器

 public function searchJobTime()
{

    $inputs=Request::all();
    $date1=$inputs['date1'];
    $date2=$inputs['date2'];
    $data=DB::table('consultant_timings')->whereNotBetween('date',[$date2,$date1])->get();
    return response()->json($data);

}

5 个答案:

答案 0 :(得分:1)

你的后端没有返回前端。尝试使用echo而不是返回。使用echo,您将实际编写json,以便浏览器可以读取它。如果不这样做,您将把json字符串返回到调用searchJobTime()函数的任何内容,而不是将其写入浏览器。

public function searchJobTime()
{

    $inputs=Request::all();
    $date1=$inputs['date1'];
    $date2=$inputs['date2'];
    $data=DB::table('consultant_timings')->whereNotBetween('date',[$date2,$date1])->get();
    echo response()->json($data);

}

答案 1 :(得分:0)

而不是使用警报  define chromosome 在开发工具中,您可以看到返回的Jon对象的结构。

答案 2 :(得分:0)

您的回复是一系列对象,您应该使用console.log(response);而不是警告

答案 3 :(得分:0)

我使用console.log(response [0])查找输出是什么,亲爱的朋友说...并使用$ .each()jquery方法在视图中显示数据如下

如果有人纠正上述说明我会很感激...

ajax代码

<script>
    $('#sub').click(function () {
        var date1=$('#date1').val();
        var date2=$('#date2').val();
        var token=$('#token').val();

        $.ajaxSetup({
            headers: {
                'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content')
            }
        })
        $.ajax
        ({

            url:"{{Url('showJobTime')}}",
            type:'post',
            dataType:'json',
            data:{'date1':date1,'date2':date2,'_token':token},
            success:function(response)
            {
                //alert('success');
                //console.log(response[0]);
                $('#change').empty();
                $.each(response,function(key,value){
                      $('#change').append(
                          "<tr  class='odd gradeX'>"+
                                "<td><input type='checkbox' class='checkboxes' value='1' /></td>"+
                                "<td class='hidden-phone' id='firstName'>"+value.date+"</td>"+
                                "<td class='hidden-phone' id='lastName'>"+value.date+"</td>"+
                                "<td class='hidden-phone' id='date'>"+value.date+"</td>"+
                                "<td class='hidden-phone' id='time1'>"+value.time1+"</td>"+
                                "<td class='hidden-phone' id='time2'>"+value.time2+"</td>"+
                                "<td class='hidden-phone'><span class='label label-success'>Approved</span></td>"+
                        "</tr>");
                    });

            },error:function (error) {

                alert('error');
               // console.log(error);
            }

        });

    });

</script>

和控制器代码

  public function searchJobTime()
{

    $inputs=Request::all();
    $date1=$inputs['date1'];
    $date2=$inputs['date2'];
    $data=DB::table('consultant_timings')->whereBetween('date',[$date2,$date1])->get();
    return response()->json($data);

}

答案 4 :(得分:0)

尝试df而不是$("#form_id").serialize()