使用空格将字符串php传递给Jquery

时间:2016-04-06 00:58:48

标签: php jquery encoding

我正在尝试将一个字符串传递给PHP中的javascript但是我的失败很糟糕。从测试中我可以看到它使我的测试失败的空白。如何编码以正确传递给javascript。我尝试了%20,但似乎没有什么工作。

完整来源

<script async  src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script type="text/javascript">

function DemoOne(text) {
    $('#PageView').load('test.php?text=' + text);
}
</script>

<?php
    $message="hello world"; // fails
    // $message="hellotom"; // works the spaces cause failure

    echo "  <a href=\"javascript:DemoOne('$message');\" ><input class='btn' type='button' value='Test'></a>     
    <div id='PageView'></div>";

?>

测试输出test.php

<?php
    echo $_GET['text'];
?>   

1 个答案:

答案 0 :(得分:1)

你可以做这样的事情

<a href="DemoOne('<?php echo addslashes($message) ?>')">
    <input class='btn' type='button' value='Test'>
</a>

工作代码(也更新了您的脚本):

<script async  src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script type="text/javascript">

function DemoOne(text) {

    $.ajax({
        url: "test.php",
        type: "GET",
       data: {text: text}
    }).done(function(data) { // data what is sent back by the php page
         $('#PageView').html(data); // display data
    });   
}

<?php
$message="hello world"; // fails
// $message="hellotom"; // works the spaces cause failure

echo "  <a href=\"javascript:DemoOne('$message');\" ><input class='btn' type='button' value='Test'></a>     
<div id='PageView'></div>";

&GT;