在jquery中格式化url

时间:2011-03-09 03:24:41

标签: jquery ajax jquery-plugins

我正在尝试使用jquery替换我的url中的参数和我的文本框中的输入。另外,我需要对输入进行百分比编码。我试图使用jquery.validator.format然而它无法正常工作。建议?

<script src="http://code.jquery.com/jquery-latest.js"></script>
  <script src="http://jqueryjs.googlecode.com/svn/trunk/plugins/validate/jquery.validate.js"></script>
<script language="javascript" type="text/javascript">    
$(document).ready(function () {
        $("button").click(function () {
            var str = "http://api.geonames.org/postalCodeSearchJSON?placename={0}&maxRows=10&username=<my username>";
            alert(str);
            var loc = $("#location").val();
            alert(loc);
            str = jQuery.validator.format(str, loc);
            alert(str);
        });
    });

2 个答案:

答案 0 :(得分:2)

这应该可以正常工作,包括编码百分比(通过encodeURIComponent()):

$("button").click(function () {
    var str = "http://api.geonames.org/postalCodeSearchJSON?placename={0}&maxRows=10&username=redacted";
    var loc = encodeURIComponent($("#location").val());
    str = jQuery.validator.format(str, loc);
    alert(str);
});

jsFiddle演示:http://jsfiddle.net/mattball/FFVCj/

答案 1 :(得分:0)

 $(document).ready(function () {
    $("button").click(function () {
     //   var str = "http://api.geonames.org/postalCodeSearchJSON?placename={0}&maxRows=10&username=rbur0425";
    //    alert(str);
        var loc = $("#location").val();
  //      alert(loc);
        //    var loc2 = encodeURIComponent(loc);
        var url = "http://api.geonames.org/postalCodeSearchJSON?placename=" + loc + "&maxRows=10&username=rbur0425";
 //       alert(encodeURI(url));
    });
});

对我有用