Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在laravel中使用ajax返回视图?_Ajax_Laravel_Post_Httprequest - Fatal编程技术网

如何在laravel中使用ajax返回视图?

如何在laravel中使用ajax返回视图?,ajax,laravel,post,httprequest,Ajax,Laravel,Post,Httprequest,我在这里遇到了一些问题,我想在使用ajax发布数据时检查数据 这是我的ajax ajax.js let dataNewMemoData = JSON.stringify(createnewMemoData); $.ajax({ url: '/crew_memo/submitdata', method: 'POST', dataType: 'json', contentType: 'json', data: dataNewMemoData, headers: {'X-CSRF-TOKEN':

我在这里遇到了一些问题,我想在使用ajax发布数据时检查数据 这是我的ajax

ajax.js

let dataNewMemoData = JSON.stringify(createnewMemoData);

 $.ajax({
url: '/crew_memo/submitdata',
method: 'POST',
dataType: 'json',
contentType: 'json',
data: dataNewMemoData,
headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')},
contentType: 'application/json; charset=utf-8'
})
这是我的网络路线

web.php

 Route::post('/crew_memo/submitdata', 'CrewProgramController@saveData');
public function saveData(Request $request){

    $request = json_decode($request->getContent());
    return view('CrewProgram.succes')->render();
    // return dd($request);
}
现在是我的控制器

controller.php

 Route::post('/crew_memo/submitdata', 'CrewProgramController@saveData');
public function saveData(Request $request){

    $request = json_decode($request->getContent());
    return view('CrewProgram.succes')->render();
    // return dd($request);
}
首先,我想转到我的
success.blade.php
我不知道为什么我的页面永远都不去任何地方,但是我的post方法还可以

秒,我想查看我的数据,以便可以使用
返回dd($request)
如何解决它

我试图用这个

返回(字符串)视图(CrewProgram.succes)
返回视图(CrewProgram.success)->render()
,在


什么都不管用,帮我个忙,我用的是laravel,你可以试试这个方法。像这样更新你的控制器

       return response()->json([
            'htmlData' => view('CrewProgram.succes')->render()
        ]);
然后设置jquery

 $.ajax({
    url: '/crew_memo/submitdata',
    method: 'POST',
    dataType: 'json',
    contentType: 'json',
    data: dataNewMemoData,
    headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')},
    contentType: 'application/json; charset=utf-8',
    success: function (data) {
       alert(data.htmlData)
     }
    })

首先,您需要修复AJAX数据

从你的版本

$.ajax({
url: '/crew_memo/submitdata',
method: 'POST',
dataType: 'json',
contentType: 'json',
data: dataNewMemoData,
headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')},
contentType: 'application/json; charset=utf-8'
})
对此

$.ajax({
url: '/crew_memo/submitdata',
method: 'POST',
contentType: 'json',
data: { content : dataNewMemoData},
headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')},
success : function(data){
   console.log(data) //this will be your html respone make sure you don't have any html or header or body tag inside your view file you want to render.
},
error : function(jqXHR,textStatus,thrownError){
   console.log(jqXHR) //for non 2xx or 3xx response code
}

})
现在我们将转到控制器方法

由此 公共函数saveData(请求$Request){

对此

public function saveData(Request $request){

        $request = json_decode($request->get('content));
        return view('CrewProgram.succes')->render();
        // return dd($request);
}

你能把这个
PageRequest.php
文件创建到你的
app\Http\Requests
文件夹吗

<?php

namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;

class PageRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            //
        ];
    }
}
你成功了

public function saveData(PageRequest $request){}

然后在发送post请求后,通过执行
dd($request->all())

检查
$request->all()
的值。是否正在捕获回调?你应该接到回电并更新dom。对不起,回电是什么意思?我希望在标题中指定'Accept':'application/json','Content-Type':'text/plain',并在发出post请求后再次检查。它返回给您查看代码。现在,在javascript代码中,您必须在success函数中捕捉到这一点,然后您可以更新dom htmli。我收到了警报,但是,我的页面没有变为CrewProgram.succes,我如何检查我的数据在那里,您知道我需要检查我的数据如何已经在控制器上或没有使用dd()创建我发送的PageRequest.php文件看起来像是在使用Request全局类。或者如果您可以在ajax:data:dataNewMemoData中使用此方法,那没关系,只需删除ajaxi中不必要的键就可以了。它说PageRequest不存在,甚至很难我已经添加了它,为什么我不应该使用全局请求类?