jquery“加载”的路径包含空格 - 需要帮助!

问题描述:

我现在在一个文件管理器中工作,在我的简单cms中使用,并且当它需要一个包含空格的路径时,我在jquery加载函数中遇到问题。有什么办法可以解决这个问题吗?jquery“加载”的路径包含空格 - 需要帮助!

<script src="jquery.js"></script> 

    <script> 
     function get_content(){ 
      $("#content").load("uploads/flashes/New folder/target.php") ; 
     } 
    </script> 

    <div id="content"></div> 

你可以在 “encodeURIComponent方法” 您的网址:

$("#content").load(encodeURIComponent("uploads/flashes/New folder/target.php")); 

的Javascript encodeURIComponent方法会等同于URLEncode的。

+1

非常好的功能“逃生()”和非常好的用户“Marc Uberstein” – 2010-09-18 12:53:08

+0

谢谢!大多数人忘了escape(),这对于前端开发来说是一个非常方便的方法。 – 2010-09-18 13:03:47

+2

**绝不**使用'escape()'。它是一种仅限JavaScript的非标准编码方案,与URL编码不同。在这种情况下,使用'encodeURIComponent()'或'encodeURI()'来编码只有完全无效的字符,如空格。 – bobince 2010-09-18 14:00:21

您可以使用%20来表示空格。

$("#content").load("uploads/flashes/New%20folder/target.php"); 

http://www.w3schools.com/TAGS/ref_urlencode.asp


编辑:

如果你不想做手工,你可以use encodeURI() instead。有许多通用的URI字符,它不会编码,其中escape()会。

+0

谢谢帕特里克dw,它的工作原理。 – 2010-09-18 12:37:07

+0

@user - 不客气。 :o) – user113716 2010-09-18 12:41:36

+0

@web - 'escape()'可以用于你的例子,但是如果你打算使用方法调用来实现它,那么你可以使用'encodeURI()',因为它就是意味着要做。 – user113716 2010-09-18 13:11:04