Javascript 与&;(amp)

Javascript 与&;(amp),javascript,asp.net,http,jquery,Javascript,Asp.net,Http,Jquery,我正在尝试使用jQuery ajax发出请求,其中包含&,其中url: var fileName = 'test&.pdf'; var resultUrl = url + encodeURIComponent(fileName); 因此,结果url是/Download/cbe1952c-1b16-40bc-9f93-7a801e60e68b8/true/test%2526.pdf。但是我检索到服务器错误HTTP错误400-错误请求 有什么想法吗? 编辑: 我发现,%2526是amp的双

我正在尝试使用jQuery ajax发出请求,其中包含
&
,其中url:

var fileName = 'test&.pdf';
var resultUrl = url + encodeURIComponent(fileName);
因此,结果url是
/Download/cbe1952c-1b16-40bc-9f93-7a801e60e68b8/true/test%2526.pdf
。但是我检索到服务器错误
HTTP错误400-错误请求

有什么想法吗?
编辑:

我发现,
%2526
是amp的双重转义的结果,因此jQuery ajax自己转义它。新的问题是,当url包含
%26

时,服务器会说有潜在危险的请求,这是来自amp的错误转义字符。请尝试转义(文件名)


正如在
“&”=%26”
中,不是
%2526

我认为应该是%26

/Download/cbe1952c-1b16-40bc-9f93-7a801e0e68b8/true/test%26.pdf

尝试
encodeURIComponent

var fileName = 'test&.pdf';
var resultUrl = url + encodeURIComponent(fileName);

结果将是
/Download/cbe1952c-1b16-40bc-9f93-7a801e60e68b8/true/test%26.pdf

如您所说,您的url不应编码两次。我认为,若url只编码一次,服务器将不会生成任何警告。“请尝试
转义(文件名)
”而不是“否”。
转义
不适用于URI编码。OP使用了正确的功能。您需要将新问题作为单独的问题发布(并且可能将您的编辑作为答案发布)。