为什么 %26 在作为 js 参数传递时被解码
Why %26 get decoded when pass as js parameter
<script>
function postBackXTreeRequest(url)
{
alert(url);
}
</script>
<a class="tab0" target="_self" href="javascript:postBackXTreeRequest('?tvwID=A+%26+B');">test</a>
http://jsfiddle.net/tp27tbpe/
上面的代码会提醒A & B
而不是让我感到困惑A+%26+B
。为什么它会自动解码网址?
href
属性的值是一个 URL,因此 JavaScript 被编码在 URL 中。URL 将在执行 JavaScript 之前被解码。
不要把 JavaScript 放在 href 属性中。改用不显眼的JavaScript。
<a class="tab0" target="_self" href="/server/side/fallback">test</a>
<script>
// You'll want a more specific selector that `a` here, but predicting what would suit your HTML is impossible
document.querySelector('a').addEventListener('click', function (event) {
postBackXTreeRequest('?tvwID=A+%26+B');
event.preventDefault();
});
</script>
在脚本中使用encodeURIComponent:
<a class="tab0" target="_self" href="javascript:postBackXTreeRequest('?tvwID=A+'+encodeURIComponent('%26')+'+B');">test</a>
相关文章:
- 函数未将值作为参数传递
- 如何将参数传递到angularJs中的工厂
- 如何在HTML元素上创建函数,而不是将元素作为参数传递
- JavaScript常量-作为参数传递或直接使用
- 如何将javascript对象作为参数传递到c#web服务中
- 将参数传递给函数
- 如何将Gruntfile.js中的参数传递到webdriverio规范
- javascript,将参数传递给函数内部的闭包中的回调
- Javascript-将包含变量的html字符串作为参数传递
- 将字符串作为参数传递给函数onclick event jquery
- 将修改后的数组作为参数传递给函数
- 在嵌套递归指令中将参数传递给父控制器方法
- each()-将额外的参数传递给回调参数
- 代码气味-将布尔控制参数传递给函数
- 如何将自定义参数传递到FullCalendar事件提要
- 将参数传递给函数,同时保留事件处理程序
- 将图标作为参数传递不会;t工作-谷歌地图
- 如何使用按钮将参数传递给函数
- 如何将多个参数传递给输入's onChange处理程序
- 为什么 %26 在作为 js 参数传递时被解码