标签: decodeuricomponent

Javascript decodeURI(Component)格式错误的uri异常

我在Chrome的控制台中输入了以下内容:

decodeURIComponent('a%AFc');
Run Code Online (Sandbox Code Playgroud)

a0xAFc它导致了一个URIError异常(格式错误的uri),而不是导致它.

我听过几个借口为什么这可能,但我不明白为什么

decodeURIComponent()特别是该函数应该解码数据,而不是验证URI.

javascript uri malformed decodeuricomponent

35
推荐指数
2
解决办法
6万
查看次数

为什么decodeURIComponent('%')会锁定我的浏览器?

我只是用AJAX测试一些东西,如果我发出警报,我发现成功了

alert(decodeURI('%'));
Run Code Online (Sandbox Code Playgroud)

要么

alert(encodeURIComponent('%'));
Run Code Online (Sandbox Code Playgroud)

浏览器错误输出以下代码.

$.ajax({
   type: "POST",
   url: "some.php",
   data: "",
   success: function(html){
         alert(decodeURIComponent('%'));
//           alert(decodeURI('%'));
   }
 });
Run Code Online (Sandbox Code Playgroud)

如果我使用任何其他字符串,它的工作正常.
这是我错过的东西吗?

javascript decodeuricomponent

10
推荐指数
3
解决办法
2万
查看次数

Express URL参数功能不会将加号(+)解码为空格

使用Express的URL参数功能时,似乎会自动解码参数.也就是说,百分比编码实体被解析为其正常形式. %20用空格代替.

但是,加号+不会替换为空格.这可能是因为Express在decodeURIComponent()内部使用,也没有+用空格替换加号.简单示例代码:

app.get('/:sourceFile', function (req, res, next) {
    console.log(req.params.sourceFile);
});
Run Code Online (Sandbox Code Playgroud)

如果您要求/test%20test,那么您将test test进入控制台.如果您要求/test+test,那么您将test+test进入控制台.

有没有办法在Express 4中改变这种操作模式?这是一个错误吗?

node.js express decodeuricomponent

10
推荐指数
1
解决办法
4283
查看次数

Lua - decodeURI(luvit)

我想在我的Lua(Luvit)项目中使用decodeURI或使用decodeURIComponentJavaScript .

JavaScript的:

decodeURI('%D0%BF%D1%80%D0%B8%D0%B2%D0%B5%D1%82')
// result: ??????
Run Code Online (Sandbox Code Playgroud)

很喜欢:

require('querystring').urldecode('%D0%BF%D1%80%D0%B8%D0%B2%D0%B5%D1%82')
-- result: '%D0%BF%D1%80%D0%B8%D0%B2%D0%B5%D1%82'
Run Code Online (Sandbox Code Playgroud)

lua encodeuricomponent urldecode decodeuricomponent

6
推荐指数
1
解决办法
3441
查看次数

NodeJS decodeURIComponent无法正常工作

当我尝试使用decodeURLCompnent解码nodeJS中的下面的字符串时:

var decoded = decodeURI('Ulysses%20Guimar%C3%A3es%20-%20lado%20par');
console.log(decoded);
Run Code Online (Sandbox Code Playgroud)

我有

Ulysses Guimarães - lado par
Run Code Online (Sandbox Code Playgroud)

代替

Avenida Ulysses Guimarães - lado par 
Run Code Online (Sandbox Code Playgroud)

但是当我在客户端(浏览器)上使用相同的代码时,我可以得到正确的字符'ã'.

有没有办法在节点脚本中从ã转换为 ã

utf-8 character-encoding latin1 node.js decodeuricomponent

4
推荐指数
1
解决办法
2万
查看次数

使用 decodeURI 时如何捕获错误?

例如,如果使用decodeURI('%C4%97%')它会触发并出错(是的,这是一个错误,专门用于测试):

URIError: 格式错误的 URI 序列 ...('textarea#encode-url-result').val(decodeURI(jQuery('input#encode-url-input').va...

即使我把它放进去,try-catch它仍然会致命。有没有办法抓住它并显示警报?

更新:

这是我的代码,但我仍然在控制台中出现错误

try{
    jQuery('a#encode-url-encode, a#encode-url-decode').click(function(){
        if(jQuery('input#encode-url-input').val().length == 0)
            showCustomAlert('<strong>Warning!</strong> Please enter value.');

        var result = null;

        if(jQuery(this).attr('id') == 'encode-url-encode')
            result = encodeURI(jQuery('input#encode-url-input').val());
        else if(jQuery(this).attr('id') == 'encode-url-decode')
            result = decodeURI(jQuery('input#encode-url-input').val());

        jQuery('textarea#encode-url-result').val(result);
    });
}
catch(e){
    alert(e);
}
Run Code Online (Sandbox Code Playgroud)

javascript decodeuricomponent

0
推荐指数
1
解决办法
6086
查看次数