如何编码&在不是't是查询参数的一部分
How to encode & in URL that isn't part of the query parameter?
我正在从XML中获取数据,并构建一个url以传递给Pinterest。
Pinterest的URL结构是
https://www.pinterest.com/pin/create/button/?url=[URL]&media=[media URL]&description=[description]
由于我无法控制的原因,XML中的[description]字段有一个与字符。示例:"花生酱果冻三明治"
如果我试图将整个Pinterest URL放入encodeURIComponent()中;变为%26,但它不是查询参数&。
期望输出应该是:https://www.pinterest.com/pin/create/button/?url=http%3A%2F%2Fwww.test.com%2Frecipe%2Fpeanut-奶油冻三明治。html&media=http%3A%2F%2Fwww.test.com/images/pbjs.jpg&description=花生%20黄油%20%26%20果冻%20三明治
XSLT1.0或JS中有哪些选项可以帮助我处理这个问题?
第1版:添加了预期输出。
第二版:原来在我们的网站上还有另一段代码在执行重定向,它需要对其后面的特殊字符进行编码。它造成了不兼容。
在将[description]
添加到url之前,您需要对其进行转义。
"https://www.pinterest.com/pin/create/button/?url=[URL]&media=[media URL]&description=" + escape("Peanut Butter & Jelly Sandwich")
或者你可以做
var data = {
url: 'http://google.com',
media: 'http://media/url',
description: 'Peanut Butter & Jelly Sandwich'
};
var pinterest_url = 'https://www.pinterest.com/pin/create/button/?url=[url]&media=[media]&description=[description]';
for (var key in data) {
pinterest_url = pinterest_url.replace("[" + key + "]", escape(data[key]));
}
alert(pinterest_url);
相关文章:
- 如何将参数赋予作为查询参数的参数值给定的函数
- 具有可选'/'s和查询参数
- 如果没有Ember中的控制器,我如何更改查询参数
- 如何编码&在不是't是查询参数的一部分
- 如何在JavaScript中传递查询参数和重定向
- React 路由器和任意查询参数:页面在加载时无意中刷新
- MongoDB查找查询参数
- 布尔查询参数被 Sails.js 视为字符串
- jQuery脚本,它搜索现有的查询参数并且不添加“"如果存在
- 基于查询参数的可选承诺步骤
- 如何使用Backbone.Return捕获查询参数的更改
- 在iron router中使用查询参数修改模板
- 如何将查询参数设置为我的所有路线,当它改变时-在恩伯
- 如何使用查询参数在jQuery中生成url
- Javascript/jQuery URL查询参数解析
- Ember.js查询参数不尊重replace:true并使用replaceState
- jQuery将查询参数附加到当前哈希中,忽略重复项
- window.location.href未设置查询参数
- 如何在angular中访问URL中的查询参数(在hash之外,非html 5模式)
- 获取具有主干木偶查询参数的当前 URL