我一直在测试musicbrainz API,发现了一个问题。当标题有一个"&"在名称中,查询返回错误的结果。例如:标题是"auf&ab,查询返回一个名为"auf,auf,auf"的标题。
我通过替换"&带有这样的"one_answers":
if (title.includes('&')){title = title.replace('&','and')}
这将返回正确的结果。我不确定这是否是解决这个问题的方法。这是我的疑问:https://musicbrainz.org/ws/2/recording/?query=recording:auf%20&%20ab%20%26%26%20艺术家:蒙特兹&fmt=json&限制=5
我认为您需要对"空间";(具有%20(和"";(带有%26(个字符,因为它们在url中使用了&将被解码为查询字符串中的另一个新参数;试试这个:
https://musicbrainz.org/ws/2/recording/?query=recording:auf%20%26%20ab&artist:montez&fmt=json&limit=5
通过这种方式,您的搜索";auf&ab"->quot;auf%20%26%20ab";;使用encodeURIComponent("auf & ab")
可以实现此结果
编辑:更改了encodeURI->encodeURI组件