Php laravelajax响应返回html元素

Php laravelajax响应返回html元素,php,jquery,ajax,laravel,Php,Jquery,Ajax,Laravel,我以前使用过ajax,但没有遇到过这种问题 这是我的表格 <form action="" method="post" enctype="multipart/form-data" class="m-form m-form--fit m-form--label-align-right" id="basicinfoform"> {{ csrf_field() }}

我以前使用过ajax,但没有遇到过这种问题

这是我的表格

<form action="" method="post" enctype="multipart/form-data" class="m-form m-form--fit m-form--label-align-right" id="basicinfoform">
                                                {{ csrf_field() }}
                                                <input type="hidden" value="{{ $studentinfo->id }}" name="studentformid">
                                                <div class="form-group m-form__group row">
                                                            <center><label for="sphoto">
                                                                        <?php 
                                                                            $photo = "student.png";
                                                                            if($studentinfo->photo !== ""){
                                                                                $photo = $studentinfo->id.'.'.$studentinfo->photo;
                                                                            }
                                                                        ?>
                                                            <img style="width:180px;height:180px;cursor:pointer;border:2px solid lightblue" id="schoollogo" src="<?php echo asset('images/passports/'.$photo) ?>"  alt="">
                                                        </label>
                                                        <input onchange="getPhoto.call(this);showsavebuttonforviewstudentedit();" type="file" class="form-control m-input newb" style="display:none" value="" id="sphoto" name="sphoto" aria-describedby="emailHelp" >
                                                        <br>
                                                            <span class="m-form__help text-accent">
                                                                <b>Click the image to change it</b>
                                                            </span>
                                                        </center>
                                                        <input type="hidden" value="" id="studentid" name="studentid">

                                                </div>

                                                <div class="form-group m-form__group row">
                                                    <div class="col-md-4">
                                                    <label for="exampleInputPassword1">
                                                        Admission No:
                                                    </label>
                                                    <input type="text" disabled="disabled" class="form-control m-input m-input--square"  value="{{ $studentinfo->admissionid }}">
                                                    </div>
                                                    <div class="col-md-4">
                                                    <label for="exampleInputEmail1">
                                                        Full name
                                                    </label>
                                                    <input type="text" name="fullname" class="form-control m-input m-input--square newb" value="{{ $studentinfo->fullname }}" onchange="showsavebuttonforviewstudentedit()">

                                                    </div>

                                                    <div class="col-md-4">
                                                    <label for="exampleInputPassword1">
                                                        Gender
                                                    </label>
                                                    <!-- <input type="password" class="form-control m-input m-input--square" id="exampleInputPassword1" placeholder="Password"> -->
                                                        <select name="gender" id="gender" class="form-control m-input m-input--square newb" onchange="showsavebuttonforviewstudentedit()">
                                                            <option value="1" {{($studentinfo->gender == "1") ? "selected" : ""}}>Male</option>
                                                            <option value="2" {{($studentinfo->gender == "2") ? "selected" : ""}}>Female</option>
                                                        </select>
                                                    </div>                                                        
                                                </div>

                                                <div class="form-group m-form__group row">
                                                    <div class="col-md-4">
                                                    <label for="exampleInputEmail1">
                                                        Class
                                                    </label>
                                                    <!-- <input type="text" class="form-control m-input m-input--square" id="exampleInputEmail1" aria-describedby="emailHelp" placeholder="Enter email"> -->
                                                    <select name="class" id="theclass" class="form-control m-input m-input--square newb" onchange="showsavebuttonforviewstudentedit();getArms();">
                                                        @foreach($allclasses as $list)
                                                            <option value="{{$list->id}}" {{ ($studentinfo->class == $list->id) ? "selected" : ""}}>{{ $list->classname }}</option>
                                                        @endforeach
                                                    </select>
                                                    </div>

                                                    <div class="col-md-4">
                                                    <label for="exampleInputPassword1">
                                                        Arm
                                                    </label>
                                                    <select name="arm" id="thearm" class="form-control m-input m-input--square newb" onchange="showsavebuttonforviewstudentedit()">
                                                        @foreach($allarms as $list)
                                                            <option value="{{$list->id}}" {{ ($studentinfo->arm_id == $list->id) ? "selected" : ""}}>{{ $list->arm }}</option>
                                                        @endforeach
                                                    </select>
                                                    </div>

                                                    <div class="col-md-4">
                                                    <label for="exampleInputPassword1">
                                                        House:
                                                    </label>
                                                    <select name="house" id="house" class="form-control m-input m-input--square newb" onchange="showsavebuttonforviewstudentedit()">
                                                        @foreach($allhouses as $list)
                                                            <option value="{{$list->id}}" {{ ($studentinfo->house == $list->id) ? "selected" : ""}}>{{ $list->house }}</option>
                                                        @endforeach
                                                    </select>
                                                    </div>
                                                </div>

                                                <div class="form-group m-form__group row">
                                                    <div class="col-md-4">
                                                    <label for="exampleInputEmail1">
                                                        Date of Birth
                                                    </label>
                                                    <input type="text" class="form-control m-input m-input--square newb" name=""dob id="dob10" value="{{ $studentinfo->dob}}" onchange="showsavebuttonforviewstudentedit()">
                                                    </div>

                                                    <div class="col-md-4">
                                                    <label for="exampleInputPassword1">
                                                        State
                                                    </label>
                                                    <select name="state" id="stateid" class="form-control m-input m-input--square newb" onchange="getLGA();showsavebuttonforviewstudentedit()">
                                                        @foreach($allstates as $list)
                                                            <option value="{{$list->StateID}}" {{ ($studentinfo->s_of_o == $list->StateID) ? "selected" : ""}}>{{ $list->State }}</option>
                                                        @endforeach
                                                    </select>
                                                    </div>

                                                    <div class="col-md-4">
                                                    <label for="exampleInputPassword1">
                                                        Local Govt.
                                                    </label>
                                                    <select name="lga" id="lgafield" class="form-control m-input m-input--square newb" onchange="showsavebuttonforviewstudentedit()">
                                                        @foreach($alllga as $list)
                                                            <option value="{{$list->lgaId}}" {{ ($studentinfo->lga == $list->lgaId) ? "selected" : ""}}>{{ $list->lga }}</option>
                                                        @endforeach
                                                    </select>
                                                    </div>
                                                </div>


                                                <div class="form-group m-form__group row">
                                                    <div class="col-md-4">
                                                    <!-- <input type="text" class="form-control m-input m-input--square" id="exampleInputEmail1" aria-describedby="emailHelp" placeholder="Enter email"> -->
                                                    <button type="submit" id="basicbtn" onclick="return submitStudentDetailInViewStudentPage();" disabled="disabled" class="btn btn-brand">&nbsp&nbsp Save <i class="fa fa-spinner fa-spin" style="display:none"></i>&nbsp&nbsp</button>
                                                    </div>

                                                </div>
                                            </div>

                                            </form>
这是我的控制器

public function viewStudent(Request $request, $studentid = null)
{


    if(!Auth::check()){
        return redirect('/');
    }

    if($request){
          echo 'yes';
    }
    if(!is_null($studentid)){

        $data['allstates']  = DB::table('tblstates')->get();
        $data['alllga'] = DB::table('tbl_lga')->get();
        $data['studentinfo'] = DB::table('tblstudents')
                                ->where('id', $studentid)
                                ->first();

        return view('Students.viewstudents', $data);
    }
    return redirect('/all/students');
}
在这个控制器中,我设置了一个条件来检查是否发出了进行编辑的请求,所以为了测试和这个问题,我简单地重复了“是”。这意味着我的ajax响应只是假设为“Yes”字符串文字,但下面是我在as响应中得到的内容

 <!DOCTYPE html>


--开始::基本样式-->

在您的案例中,它会回显“是”,但它会继续执行代码的其余部分,并返回一个视图文件。所以您得到了html响应

如果需要查看回显文本,只需在echo语句后添加
exit()
,您将得到的“Yes”响应

if($request){
   echo 'yes';
   exit();
}

我想应该是这样的

public function viewStudent(Request $request, $studentid = null)
{
    if(!Auth::check())
    {
        return redirect('/');
    }

    if($request)
    {
          // echo outputs to the server, but you should really return something
          // for the requester, thus we will return "YES" to the response
          // and since we are returning, it will return and no further executions will made.
          return 'yes';
    }

    if(!is_null($studentid))
    {

        $data['allstates']  = DB::table('tblstates')->get();
        $data['alllga'] = DB::table('tbl_lga')->get();
        $data['studentinfo'] = DB::table('tblstudents')
                                ->where('id', $studentid)
                                ->first();

        return view('Students.viewstudents', $data);
    }

    return redirect('/all/students');
}

您可以使用returnjson将数据返回到ajax请求,如

return response()->json(['success' => 'yes']);

不要使用echo作为ajax响应的返回值

在ajax调用中根据需要执行一些功能。我正在使用搜索输入筛选表数据

                $.ajax({
                headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')},
                type    :"POST",
                url     :"{{route('filter')}}",
                dataType:"JSON",
                data    :{keyword:keyword,'_token':'{!!csrf_token()!!}'},
                success :function(response)
                {
                    if (response.status=='success') 
                    {
                        $('#table_body').html(response.data); 
                    } 
                }
            });
现在,在我的控制器上,在使用query获取表数据后,我将数据发送到另一个刀片视图上,我想立即返回该视图,我的代码如下:-

public function filter(Request $r)
{ 
    $keyword=$r->keyword;
    $orders=DB::table('orders')->where('print_orders.address','like','%' .$keyword. '%')->paginate(50);

    $html=view('orders',compact('orders'))->render();

    if ($this->check_count($orders)>0) 
    {
        return response::json(['status'=>'success','data'=>$html]);
    } 
    else 
    {
        return response::json(['status'=>'fail','Nothing Found!!']);
    }
}

你能告诉我们你的web.php文件中的路线吗?该特定路由为preferredexit(),将使脚本退出。因此,首选
返回null
                $.ajax({
                headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')},
                type    :"POST",
                url     :"{{route('filter')}}",
                dataType:"JSON",
                data    :{keyword:keyword,'_token':'{!!csrf_token()!!}'},
                success :function(response)
                {
                    if (response.status=='success') 
                    {
                        $('#table_body').html(response.data); 
                    } 
                }
            });
public function filter(Request $r)
{ 
    $keyword=$r->keyword;
    $orders=DB::table('orders')->where('print_orders.address','like','%' .$keyword. '%')->paginate(50);

    $html=view('orders',compact('orders'))->render();

    if ($this->check_count($orders)>0) 
    {
        return response::json(['status'=>'success','data'=>$html]);
    } 
    else 
    {
        return response::json(['status'=>'fail','Nothing Found!!']);
    }
}