0

我有字符串连接的问题。我正在进行一系列 ajax 调用,并根据结果构建一个表,其中每个元素都有一个引导弹出框字段。在这个领域,我想展示更多的细节。这是代码:

...initiate ajax post ...
... other parameters...
function(data){//function called on success
        var popoverContent = 'Sent: ';
        popoverContent = popoverContent.concat(JSON.stringify(obj.value));
        popoverContent = popoverContent.concat('\nReceived: ');
        popoverContent = popoverContent.concat(JSON.stringify(data.error));
        console.log(popoverContent);

... other processing ...
...building table...

'<td> <a class="btn large primary" rel="popover" data-content='+popoverContent+' data-original-title="Detailed description">'+outcome+'</a></td>'+ ...

...rest of the code ...

现在我的问题是,虽然在控制台中 popoverContent 具有我想要以字符串形式显示的所有数据,但在弹出窗口中只有 Sent: 被显示。如果我使 popoverContent 等于任何其他连接的部分,它会显示该部分,但它不会显示整个内容。我在这里想念什么?

4

1 回答 1

0

console.log您可以使用通常更易于阅读的 += 运算符(尽管不是必需的),而不是调用之前的内容,如下所示:

var popoverContent = 'Sent: ';
popoverContent += JSON.stringify(obj.value);
popoverContent += '\nReceived: ';
popoverContent += JSON.stringify(data.error);

然而,真正的问题在于您的实际 HTML 输出。你没有用“s”包围结果。事实上,它也需要被转义。像:

... '<td>' +
  '<a class="btn large primary" rel="popover" data-content="' +
      popoverContent.replace(/&/g, '&amp;').replace(/"/g, '&quot;')
     .replace(/\n/g, '<br/>') +
    '" data-original-title="Detailed description">' +
    outcome +
  '</a>' +
'</td> + ...
于 2013-04-05T22:01:40.153 回答