私はajaxコールを発信していますが、プラス記号(+)で置き換えるにはスペースが必要です。私は下のコードを表示しますが、現在私は.replace()を使用していますが、最初のスペースを取り、プラスで置き換えるだけですが、残りはすべて残しておきます。何か案は?Ajaxでスペースを置き換えます+
return artist.toString().replace(/\s+/, '+');
...に:あなたはちょうどこれを変更する必要が
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);
});
おかげで、試してみてください。私は前にそれを理解していませんでしたが、すべての文字列には最後にスペース(現在は+)があります。私は、この文の最後に.slice(0、-1)を追加することでこれを修正しようとしましたが、運はありません。何か案は? –
交換する前にトリミングすることができます。古いブラウザはトリムメソッドを持っていないので、先行/後続スペースを置き換えると便利です: '.replace(/^\ s + | \ s + $/g、 '')' – Jacob