Javascript URL中包含非法字符

时间:2014-05-14 23:18:07

标签: javascript regex

我正在使用图片托管服务Cloudinary。我目前将我的网址存储为字符串,例如:http://res.cloudinary.com/dhulxtn8x/image/upload/v1400107030/zz06phflcmal8xmpg2hh.jpg

我需要在URL中添加一个设置参数,因此我将其拆分,插入设置然后再加入。但是,当我将它们组合在一起时,我会收到非法字符。这是我的代码:

var fileSplit = file.split('/');
var uploadUrl = fileSplit.splice(0, 6).join('/');
var uploadId = fileSplit.splice(0, 8).join('/');
var thumbnailSetting = '​/c_fill,h_150,w_100';
var uploadUrl = uploadUrl + thumbnailSetting + uploadId;

console.log()说:http://res.cloudinary.com/dhulxtn8x/image/upload​/c_fill,h_150,w_100v1400107030/zz06phflcmal8xmpg2hh.jpg但是我的控制台也说:

GET http://res.cloudinary.com/dhulxtn8x/image/upload%E2%80%8B/c_fill,h_150,w_100v1400107030/zz06phflcmal8xmpg2hh.jpg 400 (Bad Request)

您可以在upload之后看到非法字符。如何在不删除我可能需要的字符的情况下摆脱这些。

1 个答案:

答案 0 :(得分:1)

var thumbnailSetting = '​/c_fill,h_150,w_100';
thumbnailSetting = encodeURI(thumbnailSetting );

那会照顾你。

修改

此行中有一个不可见的字符,就在开头引号后面:

'​/c_fill,h_150,w_100';

我在制作JSFIDDLE时注意到了它。我离开了,你可以看到。该代码直接从您的问题中复制。删除它,你应该是好的。