1

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

我不生成 xml 文件。我只使用 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");
4

2 回答 2

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 内容

于 2012-01-11T06:47:30.717 回答
1

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

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

我还注意到,您使用的是 unicode 字符。XML 需要 [!CDATA[....]] 构造这些。

于 2012-01-02T00:32:14.050 回答