0

我的 ajax 成功调用有一个小问题。

在成功通话中,我有以下内容:

if (data.success) {
                window.location.href = "/account/submission-complete/"+data.entry_id;
            } else {
                var field_errors = '';
                for (field in data.field_errors) {
                    field_errors += data.field_errors[field]+"\n";
                }       

                var formErrors = 'Upload Failed<br>' + data.errors.join('<br>') + field_errors.join('<br>');

                var percentVal = '0%';
                bar.width(percentVal)
                percent.html(percentVal);
                $('#file-info').html(formErrors).slideDown('slow');
            }

在我的 JS 控制台中输出以下错误...

TypeError:field_errors.join 不是函数

谁能向我解释为什么会发生这种情况,以及我该如何解决?因为我需要在后面添加一个'
',我只知道如何使用.join()。

谢谢你。

4

1 回答 1

1

而不是这样做:

field_errors.join('<br>')

做这个:

data.field_errors.join('<br/>')

由于join用于将数组的所有元素连接成字符串。因此,它适用于数组元素,而不是字符串,这是你field_errors在这里的。

更新

// Add all the object data into the field_errors array
var field_errors = [];
for (field in data.field_errors) {
    field_errors.push(data.field_errors[field]);
}

// Check the console, if the array is correct or not
console.log(field_errors);

// Now join will work on the array element
field_errors.join('<br/>')
于 2013-05-24T11:55:06.063 回答