DHTMLX schedule.load在xml文件之前不起作用

时间:2011-12-29 10:12:36

标签: php dhtmlx

我使用DHTMLX的调度程序插件。 当我配置scheduler.load()时。它只支持xml文件吗? 我使用php echo相同的格式数据,但它不起作用。 scheduler.load(' 1.xml')没关系。 但我使用scheduler.load(' 1.php')它没有用。

我没有生成xml file.i只使用php echo:

echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>";
    echo "<data>";
    foreach($this->info as $value) {
        echo "<event id='".$value->reg->getStamp()."'>";
        echo "<start_date>".$value->reg->getDate()." ".$value->reg->getStartTime()."</start_date>";
        echo "<end_date>".$value->reg->getDate()." ".$value->reg->getEndTime()."</end_date>";
        echo "<text>".$value->reg->getTitle()."</text>";
        echo "<details>预约人:".$value->reg->sfGuardUser->getFirstName()."</details>";
        echo "</event>";
    }
    echo "</data>";

我的php回复了这样的数据:

<?xml version="1.0" encoding="UTF-8"?><data><event id='1'><start_date>2011-12-16 05:00:00</start_date><end_date>2011-12-16 06:00:00</end_date><text>aaaa</text><details>register: lee</details></event></data>

我的dhtmlx是这样的:

scheduler.load("/ajax/equRegInfo?equipmentid=874");

2 个答案:

答案 0 :(得分:1)

通过php脚本输出XML和使用XML文件之间没有区别。这意味着,您的XML文件看起来并不像您想象的那样。这就是我要做的事情:

将.php文件加载到调度程序之外的浏览器中。查看XML。你应该看到差异。

我也注意到,你正在使用unicode字符。 XML需要[!CDATA [....]]构造。

答案 1 :(得分:1)

告诉PHP如何提供数据非常重要。改变这一行:

echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>";

对此:

header('Content-type: text/xml');
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>";
// rest of script follows...

确保在content-type 任何之前将echo设置为该页面。