在Ajax URL字符串查询中使用#和'等特殊字符

时间:2012-01-16 10:39:21

标签: ajax

我遇到一个问题,像#这样的特殊字符导致此脚本失败......

它是包含特殊字符

的postvar变量

我对JS编程不是很熟悉,我希望有人能告诉我处理postvar变量中#字符所需的代码...

谢谢!

<script type="text/javascript">
var nocache = 0;
function insert<?php echo $link; ?>() {

        document.getElementById('insert_response<?php echo $link; ?>').innerHTML = "Just a second..."
        var postvar= encodeURI(document.getElementById('<?php echo $link; ?>').value);
        nocache = Math.random();

        http.open('get','ajquery.php?postvar='+postvar+'&nocache = '+nocache+'&field='+'<?php echo $link; ?>'+'&page='+'<?php echo $_GET[page]; ?>'+'&id='+'<?php echo $_GET[id]; ?>'+'&theme='+'<?php echo $rowxxx[THEME]; ?>'+'&table='+'<?php echo $ajaxtable; ?>'+'&q1='+'<?php echo $q1; ?>'+'&q2='+'<?php echo $q2; ?>');
        http.onreadystatechange = insertReply<?php echo $link; ?>;
        http.send(null);

}

function insertReply<?php echo $link; ?>() {
        if(http.readyState == 4){
                var response = http.responseText;
                document.getElementById('insert_response<?php echo $link; ?>').innerHTML = ''+response;
        }
}
</script>

1 个答案:

答案 0 :(得分:0)

尝试在insertReply方法中使用decodeURI()。