JavaScript:window.location()#error

时间:2016-03-26 17:31:01

标签: javascript parameters

我遇到了JavaScript问题。我想将参数发送到php文件,但如果参数中有#字符,那么php就会出错。此错误如下所示;

Undefined index: keyword in C:\xampp\htdocs\TweetProject\test.php on line 2

我的JavaScript代码:

   </script>
    function sendParam(){
            keyword = document.getElementById("keyword").value;
            var url = "test.php?keyword=" + keyword;  
            window.open(url);
    }
    </script>

我的PHP代码:

    <?php
    $keyword = $_GET["keyword"];
    echo $keyword;
    ?>

2 个答案:

答案 0 :(得分:1)

#表示片段标识符的开头。如果要将它或任何其他特殊字符作为数据包含在内,则必须对其进行百分比编码。

使用encodeURIComponent

答案 1 :(得分:0)

添加其他答案所说的内容(并提供代码):

   </script>
    function sendParam(){
            keyword = encodeURIComponent(document.getElementById("keyword").value);
            var url = "test.php?keyword=" + keyword;  
            window.open(url);
    }
    </script>

和你的php:

<?php
$keyword = $_GET["keyword"];
echo $keyword;
?>