次の PHP 関数は JS を出力します。
function dothething( $data ){
$res = "
<div id=\"blah\">
Here's some stuff, ". $data['name'] ."
</div>";
echo "$('#container').html('". $res ."');";
}
この関数は、jQuery の を介して呼び出さ$.ajax()
れdataType: 'script'
ますecho
。もちろん他にもありますが、私の質問はエンコーディングに関するものです。$res
改行またはアポストロフィが含まれていると、ajax は失敗します。したがって、これを上に追加すると、今のecho
ところ機能しているようです:
$res = str_replace("\n", "\\n", addslashes($res));
これは、PHP変数をフォーマットし$res
てajax用の有効なjavascriptを生成する最良の方法ですか?
そこに追加する必要があるものは他にありますか?