通行证作为URL中的文本?

时间:2012-01-12 08:11:30

标签: jquery

<script type="text/javascript">
    $(".commentPost").live('click',function() {
        var expressID = $(this).attr('id');
        var comment = $("#getComment"+expressID).attr('value');

        //If comment contains & then how to pass it in URL??
        $.get('../addons/comment.jsp?comment='+comment+'&expressID='+expressID, function(data) {
            $('#commentBlock'+expressID).append(data);
            $("#getComment"+expressID).attr('value','');
        });
    });
</script>

请告诉我如何将&作为网址中的文字传递。以及如何使用jQuery替换它。

2 个答案:

答案 0 :(得分:0)

使用第二个参数传递数据哈希。这样jQuery将负责正确的url编码:

var data = { comment: comment, expressID: expressID };
$.get('../addons/comment.jsp', data, function(data) {
    $('#commentBlock'+expressID).append(data);
    $("#getComment"+expressID).attr('value','');
});

答案 1 :(得分:0)

对于任何网址,尽管有Javascript,您必须编码特殊字符的特殊字符:

// http://site.com/script.php?var1=string+with+%26+sign&var2=lol
//                                             ^^^

<?php
echo $_GET['var1']; // "string with & sign"
?>

但是,在这种情况下,您应该利用jQuery为您执行此操作,方法是将参数作为第二个参数中的对象传递给$.get

看看the documentation