2

我正在使用以下内容:

var items = $.map(json.errors, function (error) {
return error + '</br>';
}).join(''); 

json.errors 可以是IEnumerable<string>或只是字符串。

当 json.errors 为 IEnumerable 时,items 将填充文本,<br>每个错误消息之间都有一个。<br>但是,当 json.errors 是一个字符串时,items 会在字符串的每个字符后填充错误字符串。

当 json.errors 只是一个普通字符串时,有什么方法可以解决这个问题吗?

4

2 回答 2

2

首先测试json.errors的类型,如果它不是字符串,则仅继续修改其内容。您可以使用以下方法获取类型typeof

if ( typeof json.errors === "string" ) {
  // Proceed understanding you're handling a string
}
于 2012-05-20T06:00:51.630 回答
2

由于您当前的代码<br/>在每个字符串之后添加一个,而不仅仅是字符串之间,这将是等效的:

if (typeof json.errors === "string" ) {
    json.errors = [ json.errors ] ;
}

// continue as before
于 2012-05-20T06:02:56.400 回答