Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 与';合作';在ajax函数url中_Javascript_Jquery_Ajax_Escaping_Character - Fatal编程技术网

Javascript 与';合作';在ajax函数url中

Javascript 与';合作';在ajax函数url中,javascript,jquery,ajax,escaping,character,Javascript,Jquery,Ajax,Escaping,Character,好的,我已经创建了下面的ajax请求,我在通过“#!”时遇到了问题从函数创建的响应向浏览器发送字符。当我在web浏览器中查看控制台时,“#!”字符将从url中完全删除。是否可以在url中保留这些字符 代码: 这是因为url片段(由#符号后面的所有内容表示)仅限于客户端。XHR/ajax不会发送片段。根据规范,XHR特别适用。在您的特定情况下,您使用的是decodeURIComponent,它保留了#符号,导致其被剥离 只有在从服务器返回请求的资源后,才会在客户端对片段进行评估 您可以通过使用来规

好的,我已经创建了下面的ajax请求,我在通过“#!”时遇到了问题从函数创建的响应向浏览器发送字符。当我在web浏览器中查看控制台时,“#!”字符将从url中完全删除。是否可以在url中保留这些字符

代码:


这是因为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();

});