首页 > 解决方案 > Ajax 验证和 SyntaxError: JSON Parse error: Unrecognized token '<' on Laravel

问题描述

这是我第一次在 Laravel 中使用 JQuery 和 Ajax 验证。我正在尝试使用 Laravel 请求规则验证表单。似乎服务器验证了这些字段,因为当我没有填写请求时它会将错误发回给我,但是当我这样做时,我在控制台上收到此错误SyntaxError: JSON Parse error: Unrecognized token '<'

这就是我写的代码:

技术员表格请求

public function rules()
{
    return [
        'nome' => 'required',
        'cognome' => 'required',
        'ruolo_principale' => '',
        'antincendio' => '',
        'primosoccorso' => '',
        'rischioelettrico' => '',
        'lavoroinquota' => '',
        //
    ];

TechnicianController(存储方法)

public function store(TechnicianFormRequest $request)
{

    $validated = $request->validated();

    $technician = Tecinfo::create($validated);

    return redirect()->action('TechnicianController@index')->with('success', 'Tecnico aggiunto con successo!');
    // return dd($request->all());

}

Ajax代码:( 无法粘贴js代码,所以我添加了一个图片)

Ajax 代码图像

感谢所有帮助我的人

瓦莱里奥

标签: javascriptjquerylaravelajaxform

解决方案


您正在解析Json您的方法,ajax但没有json从您的store方法返回

根据 Laravel 文档:

json方法将自动将Content-Type标头设置为,并使用PHP 函数application/json将给定数组转换为 JSONjson_encode

在您的控制器中使用以下返回json

return response()->json([
    'success' => 'Tecnico aggiunto con successo!',
]);

推荐阅读