加号转换为%2B,我的请求出错了网址。 如何解决? 代码如下。
// Result params:
// ?game=Dota%2B2&limit=1
// Error in game. Plus converts to %2B
// How Fix?
Meteor.call("getStreams", "Dota+2", "1", function(e, i) {
});
Meteor.methods({
getStreams: function(game, limit) {
var response = Meteor.http.call("GET",
"https://api.twitch.tv/kraken/streams",
{params: {'game': game, 'limit': limit}});
return response.data.streams.map(function(i) {
return {
"game" : i.game,
"viewers" : i.viewers,
"title": i.channel.display_name
}
});
}
});
请求我需要的网址:https://api.twitch.tv/kraken/streams?game=Dota+2&limit=1
答案 0 :(得分:0)
这有点像黑客,但你可以自己组装GET URI:
var response = Meteor.http.call("GET",
"https://api.twitch.tv/kraken/streams?game=" + game + "&limit=" + limit);
但请注意,变量不再进行URI编码;这允许+
通过,但它也可能允许无效字符滑过。如果可以通过用户输入设置它们,请小心在此呼叫之前验证game
和limit
。