簡體   English   中英

將字符串PHP傳遞到Javascript空間

[英]Passing string PHP to Javascript Spaces

我試圖將字符串從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";

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

?>

測試輸出test.php

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

跟進

在下面添加代碼仍然失敗,似乎只有刪除空格才能使上面的示例正常工作。

a href=\"javascript:DemoOne(".htmlspecialchars(json_encode($message)).");\" ><input type='button' value='Submit'></a>   
<div id='PageView'></div>

與空格無關 您還沒有提供完整的代碼。 我猜HTML在回顯內? 如果是這樣,您需要這樣做:

echo "<a href=\"javascript:DemoOne(".htmlspecialchars(json_encode($message)).");\" ><input type='button' value='Submit'></a>   
<div id='PageView'></div>";

json_encode您傳遞給JavaScript的任何數據。 您還需要對HTML進行轉義,因為它位於屬性中,而不是<script>標記。


您還需要轉義URL的查詢參數。

我修改了您的代碼以解決編碼問題:

  <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=' + encodeURIComponent(text));
}
</script>


<?php
$message="hello";

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

或者,讓jQuery進行轉義:

function DemoOne(text) {
 $('#PageView').load('test.php', {text:text});
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM