javascript - Ajax 将空格替换为 +

标签 javascript jquery ajax

我正在进行 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/

相关文章:

javascript - 根据用户输入创建编号表单

javascript - 动态构建表时事件在 JQuery 中不起作用

javascript - 实习生定义中的感叹号是什么意思?

javascript - 电子邮件的正则表达式

javascript - 如何在刷新时加载特定网址?

JavaScript:如何将 HTML 字符串转换为 JavaScript 数字?

javascript - 如何从数据库获取值并将它们插入到事件数组中

jquery - 手机下拉菜单slidedown

jQuery - 在更改时重置文件输入

javascript - jQuery 无限页面滚动