PHPからJavaScriptに文字列を渡そうとしていますが、悲惨に失敗しています。テストから、私のテストを失敗させている空白が見えます。どうすればjavascriptに正しくエンコードするのですか%20を試しましたが、もう少し何も動作しないようです。文字列PHPをJavascript Spacesに渡す
完全なソースを
<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'];
?>
FOLLOW UP
まだ唯一のスペースを削除すると、この上記の例では、動作するようになりますようで失敗した下のコードを追加します。
a href=\"javascript:DemoOne(".htmlspecialchars(json_encode($message)).");\" ><input type='button' value='Submit'></a>
<div id='PageView'></div>
の可能な複製を[JavaScript変数(と脱出にPHPの文字列を渡しますnewlines)](http://stackoverflow.com/questions/168214/pass-a-php-string-to-a-javascript-variable-and-escape-newlines) –