如何在api通话中使用正斜杠?

时间:2016-08-23 09:12:49

标签: jquery json

大家好我开始使用API​​进行开发,并且我已经开始使用/作为分离我已经放置的值的手段的api调用?

var requestURL = 'https://alpha.openaddressesuk.org/addresses.json?';

    $.getJSON(requestURL, {
        'street' : street,
        'town'  : town,
        'postcode' : postcode,
    }, function(data) {

请求结果为https://alpha.openaddressesuk.org/addresses.json?street=STREET?town=TOWN?postcode=POSTCODE

但是我注意到有些api有/而不是?在请求网址

那我该怎么做呢

 var requestURL = 'http://transportapi.com/v3/uk/train/station/{{STATIONNAME}}/{{STATION DATE}}/{{STATION TIME}}/timetable.json?app_id=APPID&app_key=APIKEY&train_status=passenger';

    $.getJSON(requestURL, {
        'stationname' : stationname,
        'date'  : date,
        'time' : time,
    }, function(data) {
            console.log(data)
    }

但不会放?在每个参数之间?

1 个答案:

答案 0 :(得分:1)

对电台名称使用百分比编码将/更改为%2F。完整详情:https://en.wikipedia.org/wiki/Percent-encoding

在javascript中,这可以使用encodeURIComponent(str);来实现,例如

// Build request URL (assumes date and time are strings in the
// correct format)
var requestURL = 
    'http://transportapi.com/v3/uk/train/station/' + 
    encodeURIComponent(stationname) + '/' + date + '/' + 
    time + '/timetable.json';

$.getJSON(requestURL, {
    'app_id': app_id,
    'app_key': app_key,
    'train_status': 'passenger',
}, function(data) {
        console.log(data)
}