Javascript 与';合作';在ajax函数url中
好的,我已经创建了下面的ajax请求,我在通过“#!”时遇到了问题从函数创建的响应向浏览器发送字符。当我在web浏览器中查看控制台时,“#!”字符将从url中完全删除。是否可以在url中保留这些字符 代码:Javascript 与';合作';在ajax函数url中,javascript,jquery,ajax,escaping,character,Javascript,Jquery,Ajax,Escaping,Character,好的,我已经创建了下面的ajax请求,我在通过“#!”时遇到了问题从函数创建的响应向浏览器发送字符。当我在web浏览器中查看控制台时,“#!”字符将从url中完全删除。是否可以在url中保留这些字符 代码: 这是因为url片段(由#符号后面的所有内容表示)仅限于客户端。XHR/ajax不会发送片段。根据规范,XHR特别适用。在您的特定情况下,您使用的是decodeURIComponent,它保留了#符号,导致其被剥离 只有在从服务器返回请求的资源后,才会在客户端对片段进行评估 您可以通过使用来规
这是因为url片段(由
#
符号后面的所有内容表示)仅限于客户端。XHR/ajax不会发送片段。根据规范,XHR特别适用。在您的特定情况下,您使用的是decodeURIComponent
,它保留了#
符号,导致其被剥离
只有在从服务器返回请求的资源后,才会在客户端对片段进行评估
您可以通过使用来规避此问题
有关url片段的更多信息,请参见
MDN也有关于用EncodeUriComponent更改decodeURIComponent的文档是的,我想到了,我被卡住了。不过谢谢你的评论。@user7104290
encodeURIComponent
应该可以做到这一点。但我怀疑代码还有其他问题。你为什么需要#代码>在URL中?您正在使用的NBA API是否支持将其作为端点?
$(function() {
function loadStats() {
$.ajax({
url: 'http://stats.nba.com/players/gamelogs/'+decodeURIComponent('#!')+'?&callback=?',
jsonpCallback: 'jsonReturnData',
dataType: 'jsonp',
data: {
CF: 'PLAYER_NAME*E*James Harden',
Season: '2016-17',
SeasonType: 'Regular Season',
format: 'json'
},
success: function(response) {
console.log(response);
} //success
}); //AJAX Call
} //load Chart
loadStats();
});