2017-11-07 6 views
0

私はフロントエンドにオブジェクトを持ち、この値をバックエンド(PHP)に渡す必要があります。PHPがjson stringifyオブジェクトで動作する

フロントエンド:

var cfg = {"tooltips":true,"tooltipTemplate":"<div></div>"}, 
jsonCfg = JSON.stringify(cfg); 
$inputConfig.val(jsonCfg); 
$form.submit(); 

バックエンド:私は、最初のタグ "<" を削除し、私は "> DIV" のみを取得する場合は、最後の文字列は、私だけの空の値を与える

$config = $_POST['config']; 
$json = json_decode($config); 
echo $json->tooltips; 
echo $json->tooltipTemplate; 

、しかし、私はこの動作を防ぐ方法を理解していない、私はフィルタリングや書式設定なしで任意の文字列が必要です。

+0

'エコー$ json-> tooltipTemplate;(それはHTMLだから)' '出力

'、ページ出力には表示されませんされます。ソースを表示し、そこにある必要があります – Machavity

+0

私はあなたが正しいと思う、これは私がこれを忘れる私の失敗です。 – Avirtum

+1

質問を削除します。それはどんなdownvotesも持っていないので、あなたを傷つけることはありません – Machavity

答えて

1

問題は単純に、<div></div>はブラウザに表示されません。正しい出力を表示するには、ページソースを参照するか、htmlentitiesを使用してhtmlタグをエスケープします。

$config = $_POST['config']; 
$json = json_decode($config); 
echo $json->tooltips; 
echo htmlentities($json->tooltipTemplate); 
+0

私はそれをネットワークタブの応答セクションの中でチェックしました。今は大丈夫です、ありがとうございます。 – Avirtum

関連する問題