提出请求& (AMP)

时间:2011-07-27 16:46:19

标签: javascript asp.net http jquery

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

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

因此,结果网址为/Download/cbe1952c-1b16-40bc-9f93-7a801e0e68b8/true/test%2526.pdf。但我检索服务器错误HTTP Error 400 - Bad Request 任何想法?
修改
我发现%2526是放大器双重逃逸的结果,所以,jQuery ajax本身就逃脱了它。当网址包含%26时,新问题是服务器说明潜在危险请求

3 个答案:

答案 0 :(得分:1)

尝试encodeURIComponent

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

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

答案 1 :(得分:0)

我认为它应该只是%26。

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

答案 2 :(得分:-1)

这是放大器的错误转义字符。托盘escape(fileName)代替。

"&" == "%26"%2526

一样