簡體   English   中英

序列化html標簽內的javascript代碼

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM