我正在进行 ajax 调用,并且需要将所有空格替换为加号 (+)。我将在下面显示我的代码,但目前我正在使用 .replace(),但是,它只占用第一个空格并将其替换为加号,但保留所有其余部分。有什么想法吗?
function getImages() {
[].slice.call(arguments)
.map(function(artist) {
return artist.toString().replace(/\s+/, '+');
})
.forEach(function(artist) {
$.ajax({
type: 'POST',
url: 'http://ws.audioscrobbler.com/2.0/',
data: 'method=artist.getinfo' +
'&artist=' + artist +
'&api_key=secret' +
'&format=json',
dataType: 'jsonp',
success: function(data) {
document.body.innerHTML += '<img src="' + data.artist.image[2]['#text'] + '" /><br>'
},
error: function(code, message) {
alert('there was an error'+ message);
}
});
});
}
var values = []
$(document).ready(function() {
$('.artist').each(function() {
var self = $(this)
values.push(self.html());
});
getImages(values);
});
最佳答案
您只需更改此:
return artist.toString().replace(/\s+/, '+');
...至:
return artist.toString().replace(/\s+/g, '+');
g
标志将告诉 replace
进行“全局”替换,而不仅仅是替换第一个匹配项。
关于javascript - Ajax 将空格替换为 +,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36878138/