如何使用URI中的#符号调用JavaScript中的API?

时间:2019-03-27 13:00:33

标签: javascript rest api

我想从JavaScript调用REST API。

这是我尝试过的:

var mainURI = '<MyAPIURI>';
var mainURIEncoded = encodeURI(mainURI);

var mainRequest = new XMLHttpRequest()
mainRequest.open('GET', mainURIEncoded, true)

mainRequest.onload = function () {
    var data = JSON.parse(this.response)
}

我收到此错误:

  

未找到与请求URI'MyAPIURI(在'#'处截断')'相匹配的HTTP资源

我的URI中带有'#'符号,看来问题是我的mainURIEncoded字符串在'#'处被切断了。

任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

我的解决方案是在使用encodeURI()encodeURIComponent()之后用'%23'替换所有'#'。

请参阅有关该问题的有用评论。