【问题标题】:Best Way to Handle JSON response in Laravel在 Laravel 中处理 JSON 响应的最佳方法
【发布时间】:2019-05-03 00:21:54
【问题描述】:

我使用 Laravel 5.5 和 PHP 7,我正在创建这样的表单。

<form id="form" name="xxx" action="post">
  <input type="text" name="body_color[1][en]">
  <button type="submit" name="submit">Submit</button>
</form>

我通过 Ajax 发布数据,当我遇到错误时,我会从 Laravel 收到以下响应。

错误:body_color.1.en:[“body color.1.en 字段是必需的。”] 成功:错误

如果 Laravel 没有用点替换“[”和“]”,我可以使用 jQuery 在浏览器上有效地显示错误消息。

$('#form *[name=body_color[1][en]]').after('input error!');

如何在网络浏览器中显示简单的错误消息?

【问题讨论】:

    标签: json ajax laravel laravel-5.5


    【解决方案1】:

    根据您的 jQuery 要求,一个简单的正则表达式替换应该适用于这种情况:

    var str = "body_color.1.en"
    str.replace(/\.(.+)\./, "[$1][") + "]" // returns body_color[1][en]
    

    或者你可以只在点上拆分字符串并重建它:

    str.split('.')  // returns ['body_color', '1', 'en'];
    

    有许多现有的 Javascript 类可以处理错误响应,例如:https://github.com/spatie/form-backend-validation

    【讨论】:

      【解决方案2】:

      通过 JSON.parse(response) 运行您的响应,您应该能够使用标准 json 点语法来单步执行数据。

      var r = JSON.parse(response):
      

      console.log(r);

      【讨论】:

        猜你喜欢
        • 2015-05-30
        • 2019-08-16
        • 2010-11-15
        • 2020-11-24
        • 2014-09-10
        • 1970-01-01
        • 2019-10-25
        • 1970-01-01
        • 2015-04-05
        相关资源
        最近更新 更多