2015-09-17 85 views
0

我一直在开发一个应用程序,我做了很多$.get将其他文件的内容导入到项目中。避免URL编码

这些文件的名称有这样的特殊字符=><
例如:division_squaremeter_l=x<y.php

昨天我不得不为我的客户发布一个测试版本,因为我已经这样做了,对这些文件的所有请求都已在本地计算机中进行了URL编码。
我已经设法让它在服务器上工作,但现在,当我在MAMP上运行项目时,我收到很多404消息,说这些文件不存在。

当我调试查看文件的名称,他们似乎是这样的: division_squaremeter_l=x%3Cy.php

我试着避免使用功能,如decodeURIComponent()但没有成功URL编码。

是否有解决此问题的方法?

这是一块的我的代码:

$.get(BASE_URL+'sections/division_squaremeter_l=x<y.php', function(response){ 
    $('#DIVISION_CONTAINER_ONE').html(response); 
}); 
+0

不,不可能在URL中传递任何特殊字符,它们将被编码为像'<'进入'%3C'。但是,给你的文件名称的好处是什么?把它叫做“division_squaremeter_l_is_x_smaller_y.php”。 –

回答

1

NEVER使用是encodeURI()。改用encodeURIComponent()。 第一个包含很多来自浏览器的猜测,并且是来自古代糟糕设计决策的不可靠遗迹。