2017-02-12 132 views
1

我想創建一個JavaScript對象,如下所示。如何使用數據庫中的數據創建JavaScript對象?

var codropsEvents = { 
    '02-02-2017' : '<span>Some txt from database</span><span>Some txt from database</span>', 
    '02-05-2017' : '<span>Some txt from database</span><span>Some txt from database</span>' 
}; 

爲此,我開發的js函數如下。

function setEventsCalendar() { 
    var codropsEvents 
    try { 
     $.ajax({ 
      type: "POST", 
      url: "calendarData.php", 
      dataType: "text", 
      async: false, 
      success: function(msg) { 
       codropsEvents = "{" + msg + "}"; 
       codropsEvents = JSON.parse(codropsEvents); 
      } 
     }); 

     return codropsEvents; 
    } catch(ex) { 
     alert(ex); 
    } 
} 

var codropsEvents = setEventsCalendar(); 

calendarData.php文件生成以下爲字符串(包括所有的冒號,逗號,標籤等)

'02-02-2017' : '<span>Some txt from database</span><span>Some txt from database</span>', '02-08-2017' : '<span>Some txt from database</span><span>Some txt from database</span>' 

如何創建使用字符串的JS對象?或者其他任何適當的方式來獲得預期的結果。

謝謝!

+1

這不是有效的JSON。在JSON中,字符串被雙引號包圍,而不是單引號。爲什麼不在PHP腳本中使用'json_encode()'? – Barmar

+1

更多異步:false已被棄用,請不要使用它。 – Kumar

+0

@Barmar我試過'json_encode()'。但是我仍然無法得到預期的結果。因此,你可以更具體一些,以便我可以在我的代碼中適應它。 – AnushkaM

回答

1

你可以讓一個數組像PHP的

$dataArray = ['02-02-2017' => '<span>Some txt from database</span><span>Some txt from database</span>', 
       '02-05-2017' => '<span>Some txt from database</span><span>Some txt from database</span>']; 
// and this array to json string and print it, 
echo json_encode($dataArray,JSON_FORCE_OBJECT); 

現在阿賈克斯的一部分,你可以簡單地通過改變數據類型爲json得到JSON格式的數據;成功函數的msg參數是javascript對象或者成功函數裏面有codropsEvents = JSON.parse(msg);這樣的代碼。

+0

讓我知道它是否適合你。 –

+0

它的工作..非常感謝您的解決方案.. – AnushkaM

相關問題