【问题标题】:Problem displaying error to the user from AJAX从 AJAX 向用户显示错误时出现问题
【发布时间】:2018-11-08 09:39:40
【问题描述】:

我正在使用 AJAX 代码来处理来自后端代码的错误。除了我想在编号列表中单独向用户提醒错误之外,一切都运行良好

预期输出

1. Please insert a valid phone number
2. Please insert your email
3. Please insert a valid passport number 

AJAX 代码处理错误

error: function(data) {
                //Unblock the spinner
                $.unblockUI();
                var errors = '';
                for(datos in data.responseJSON){
                    errors += data.responseJSON[datos] + '<br>';
                }
                //Alert each error individually
                alert(errors);
            }

【问题讨论】:

    标签: html ajax error-handling


    【解决方案1】:

    我建议您使用for loop 而不是for inSee why here

    error: function(data) {
      //Unblock the spinner
      $.unblockUI();
      var errors = '';
      for(var i = 0; i < data.responseJSON.length; i++){
        // Remove the "(i+1) + '. ' + " if your json response already contains that part.
        errors += (i+1) + '. ' + data.responseJSON[i] + '\n'; // <-- Notice how the br tag is changed to a new line
      }
      alert(errors)
    }
    

    我还将 &lt;br&gt; 标记更改为 \n,因为警报不支持 html 标记。

    【讨论】:

      【解决方案2】:

      我不清楚你是否想要一个

      1. 多行警报消息或

      2. 多个警报对话框作为 输出,

      但如果 1) 为真,您应该使用换行符 ("\n") 而不是 br 标记 - 请参阅 New line in JavaScript alert box,代码可能如下所示:

      var i = 1,
          errors = '';
      
      for(datos in data.responseJSON){
          errors += i + '. ' + data.responseJSON[datos] + '\n';
          i++;
      }
      
      //Alert each error individually
      alert(errors);
      

      如果 2) 是你需要的,你应该为每个错误信息调用 alert()

      【讨论】:

        猜你喜欢
        • 2019-09-09
        • 2014-09-23
        • 1970-01-01
        • 1970-01-01
        • 2020-06-29
        • 1970-01-01
        • 2015-07-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多