javascript
  • php
  • jquery
  • html
  • arrays
  • 2016-08-30 16 views 0 likes 
    0

    我將一些數據存儲在數組中,然後將其存儲在數組中。一切正常。但由於要求,我不得不在該數組中存儲一些HTML。下面的代碼是它的一部分將Html存儲到數組中,然後將其保存在數據庫中並檢索該數組 - 顯示錯誤

    step2_data["data1"] = data1; 
    
    step2_data["color"] = color; 
    
    step2_data["data2"] = sectionArray; 
    
    var html = '<div class="here"></div>'; 
    
    step2_data["drawing_door"] = html; 
    

    檢索數據我這樣做

    var stored_data = JSON.parse('<?php echo json_encode(
           get_user_meta(get_current_user_id(), "CONFIG_FILE",false));?>'); 
    

    一切正常,直到我介紹了HTML內容存儲。 我獲得以下錯誤

    enter image description here

    在控制檯中的陣列看起來像這樣

    JSON.parse('[[{"step 2":{"drawing_door":"<div class=\"here\"><\/div>"}}]]'); 
    

    它是一個大數組,我只是顯示HTML部分。

    任何想法,如果你們可以建議,我會出錯或任何其他選擇。

    +3

    你不需要解析 – Aaron

    +0

    你有一個語法錯誤,我們很難回答,除非你發佈你的實際代碼 –

    +1

    我知道這不是你想聽到的,但在數據庫中存儲HTML不是一個好主意。你應該增加一些關於其他選擇的事情。然而,要將HTML加載到'js'變量,您不需要將該附加的PHP'json_encode'添加到它。 – Andurit

    回答

    1

    如果你想通過javascirpt對象來訪問PHP數組,沒有必要將其存儲爲JSON字符串和解析它轉換成JavaScript對象,只要你能做到

    var stored_data = <?php echo json_encode(
           get_user_meta(get_current_user_id(), "CONFIG_FILE",false));?>; 
    
    +0

    好吧,但以前它並沒有顯示任何錯誤,直到我用html試過,爲什麼它沒有顯示錯誤? –

    +0

    它依賴於從該函數返回的動態數據..如果它有'或',那麼字符串應該是中斷而不起作用,但在這種情況下,它應該是工作。讓我知道它是否工作? –

    +0

    我想如果錯誤你認爲是由HTML造成的,所以試着修復報價和雙引號。雙引號「......」bla bla「...」在單引號之外,所以它會是var html =「

    「; – TommyDo

    1

    所以我認爲,我的解決辦法是好的,不是嗎? :d。

    的錯誤,因爲當你把HTML文本轉換成一個變量作爲

    var html = "something" 
    

    現在「東西」是作爲字符串值。所以在雙重內線都必須如弦。如果你想要把雙引號裏面,你有2個solustions:

    //add escape the special characters 
    var html = "<a href="\google.com"\></a>"; 
    

    OR

    //add single quote only inside 
    var html = "<a href='google.com' id='link' class='my_class' ></a>"; 
    

    如果你把雙引號裏面的雙引號「...」,這意味着你關閉並把變量裏面像:

    var link = "google.com"; 
    var html = "<a href=' "+ link +" '></a>"; 
    

    我希望我的解釋清楚。對不起,我的英語不夠好解釋更多細節。

    +0

    我不確定,但我刪除了'JSON.parse',它工作。雖然我會upvote你的回答 –

    +0

    我認爲是這樣,但我的問題不是解決方案。也許它適用於其他人。感謝投票。 – TommyDo

    相關問題