使用空格传递字符串变量

时间:2013-10-14 04:03:03

标签: javascript php jquery codeigniter post

在以下代码中:

    <script type="text/javascript">
        function updateView(set) {
            $.post("<?php echo base_url("/show_cards/load_page")."/"; ?>"+set, function( data ) {
                $( "#content" ).html( data );
            });
        }
    </script>

'set'是一个字符串变量,其中可以包含空格。我注意到它有空格时它无法正常工作。我该如何解决这个问题?

编辑:为了清楚起见,我想保持空间不变。

4 个答案:

答案 0 :(得分:6)

使用$.trim(set)删除前导空格或尾随空格

set.replace(/ /g,"+")  

encodeURI(set)

保持字符串内的空格
(参考When are you supposed to use escape instead of encodeURI / encodeURIComponent?

一次性完成这两项工作只需将它们链接起来

$.trim(set).replace(/ /g,"+")

请注意,如果您愿意,可以使用%20代替加号。

但它不是参数吗?如果是这样,也许你想把它传递给

$.post("<?php echo base_url("/show_cards/load_page")."/"; ?>",{"set":$.trim(set).replace(/ /g,"+")},

答案 1 :(得分:3)

您必须将' '的中间空间('%20')替换为replace(),并使用' '删除边界空间(trim())。

因此请使用以下代码 -

<script type="text/javascript">
    function updateView(set) {
    set=set.trim().replace(/ /g, '%20');
        $.post("<?php echo base_url("/show_cards/load_page")."/"; ?>"+set, function( data ) {
            $( "#content" ).html( data );
        });
    }
</script>

答案 2 :(得分:2)

使用 Trim

<script type="text/javascript">
        function updateView(set) {
          var set=$.trim(set);// by this  leading or trailing spaces removes  
            $.post("<?php echo base_url("/show_cards/load_page")."/"; ?>"+set, function( data ) {
                $( "#content" ).html( data );
            });
        }
    </script>

您也可以使用 string.replace

  var set=  set.replace(/ /g,"+") ;// like that way in this all the spaces removes

答案 3 :(得分:0)

拉杰什保罗的答案做得很好,我不知道为什么有人给你一个投票。

很好的回答Rajesh,它对我有用。这就是我所做的:'&p_na2=' + (Txtva3).trim().replace(/ /g, '%20');