【问题标题】:Ajax validation and SyntaxError: JSON Parse error: Unrecognized token '<' on LaravelAjax 验证和 SyntaxError: JSON Parse error: Unrecognized token '<' on Laravel
【发布时间】:2020-07-03 00:41:25
【问题描述】:

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

这是我写的代码:

TechnicianFormRequest

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 code image

感谢所有帮助我的人

瓦莱里奥

【问题讨论】:

    标签: javascript jquery laravel ajaxform


    【解决方案1】:

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

    根据 Laravel 文档:

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

    在你的控制器中使用下面返回json

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

    【讨论】:

    • 请问您如何重定向到 index 方法?..非常感谢您的帮助!
    • @netnull 如果你使用ajax?,为什么要将其重定向到index 方法
    • 也许我错了,但是如何在不重新加载页面的情况下在列表中显示我存储的人?
    • 谢谢@Sehdev 的正确答案,它节省了我很多时间。 @netnull 响应您关于重定向到索引页面的评论,您可以在您的 ajax 成功方法中添加此行 window.location.href = {{ route('your-index-route-name') }}
    • @HamidAli 当然。当然,这里是:意外的令牌“{”。需要一个属性名称。 这就是我在成功部分下的 js 文件中所写的内容:window.location.href = {{ action('addTechnician') }};
    猜你喜欢
    • 2021-07-09
    • 2021-11-09
    • 1970-01-01
    • 2021-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多