[英]serialize javascript code inside html tags
我有一個ajax函數,它響應一個html標記的內容,作為一個json字符串,我將評估它從中產生一個對象。
現在,只要json字符串里面沒有javascript,它就可以了。 但是當我在字符串中包含一些簡單的javascript時,我得到Uncaught SyntaxError: Unexpected identifier
當我嘗試評估字符串時出現Uncaught SyntaxError: Unexpected identifier
,盡管我會逃避每個'
和"
。
以下是示例: http : //jsfiddle.net/dCtA3/2/
當我刪除javascript: http : //jsfiddle.net/dCtA3/3/它的工作原理。
嘗試使用正確的JSON(如果您的XHR返回JSON,使用它,解析它,或檢查瀏覽器是否已經為您解析它(應該是[response].innerhtml
))。 將您的jsfiddle代碼更改為:
var contents = JSON.stringify(
{innerhtml : "<p onclick=\"javascript:alert('hello world');\"> click me! </p>"}
);
function insertContent() {
document.getElementById("container")
.innerHTML = JSON.parse(contents).innerhtml;
}
[根據評論編輯 ]
看到這個jsfiddle ,按鈕點擊模擬json請求。 單擊按鈕后會顯示字符串化的響應對象。
你需要生成你的javascript代碼嗎?它是否必須在該字符串中? 如果javascript可以在您的js文件中,您可以簡單地執行此操作:創建一個執行警報的函數helloWorld,並在您的json字符串中使用html onclick =“helloworld()”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.