我試圖從php傳遞數據到java腳本以進行「onclick」事件。 我通過將數組數據轉換爲JSON字符串將其解析回js函數中並對其進行處理。傳遞PHP字符串的JSON(與qoutes)到onclick函數
問題是JSON字符串包含雙引號,因此雙引號會破壞html字符串(未捕獲的SyntaxError:意外的標記爲ILLEGAL)時出現錯誤。我確實看到類似這樣的幾個問題,但沒有找到我需要的解決方案,或者我沒有理解正確的解決方案。所以我把它帶到我的具體案例。
<?php
..some php code here..
$aData = array("You","Me",76,array(3,6));
$sJSONstr = json_encode($aData);
?>
<input type="button" name="formSubmit" value="Delete" onclick="analyze('<?php echo $sJSONstr; ?>')">
<?php
..some php code here..
?>
和JS的功能如下:
function analyze(i_sInputDataJSONStr)
{
var aInputData = JSON.parse(i_sInputDataJSONStr);
.. So something with the input data array..
}
你怎麼這麼說? 'onclick =「analyze('<?php echo $ sJSONstr;?>')」'他已經在'onclick()'' –
'內提供單引號謝謝,但我還需要單引號圍繞<?php echo $ sJSONstr ; ?>以便它將是一個字符串而不是一個對象。那麼我該怎麼做呢? – user3198805
@康南請看我更新的答案。由於他的數據是JSON,因此不需要將其作爲字符串(並再次解析)。 –