2017-02-12 131 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

相关问题