Html 转义字符那些事儿
在项目开发过程中经常有使用 JS 访问 Url 动态传参的做法,但有时候url的某些字符和标签解析产生冲突这时候,就需要将转义字符的换成对应的16进制使用
如下例,js动态加载iframe标签的src属性,且传入参数
<iframe id="iImg"></iframe>
$("#iImg").attr("src", "/Business/ChangShaZJ/NInvoice/PartialSwiper?imgPathList=111");
public PartialViewResult PartialSwiper(string imgPathList) { return PartialView(imgPathList); }
程序会将=号后的字符串作为路径
所以应该这么写
var imgPathList = $(sender).data("imgList"); $("#iImg").attr("src", "/Business/ChangShaZJ/NInvoice/PartialSwiper?imgPathList%3D9" + imgPathList.replace(/\//g, '%2F'));
附录:
1. + URL 中+号表示空格 %2B
2. 空格 URL中的空格可以用+号或者编码 %20
3. / 分隔目录和子目录 %2F
4. ? 分隔实际的 URL 和参数 %3F
5. % 指定特殊字符 %25
6. # 表示书签 %23
7. & URL中指定的参数间的分隔符%26
8. = URL中指定参数的值 %3D
9. ! URL中指定参数的值 %21