1

DHTMLX のスケジューラ プラグインを使用します。を設定するときscheduler.load()。xml ファイルのみをサポートしていますか? 私は同じ形式のデータをphp echoを使用していますが、機能しません。scheduler.load('1.xml') 大丈夫です。しかし、私は scheduler.load('1.php') を使用していますが、動作しません。

私はxmlファイルを生成しません.私はphpエコーのみを使用します:

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 を確認してください。違いがわかるはずです。

また、ユニコード文字を使用していることにも気付きました。それらの XML は [!CDATA[....]] を必要とします。

于 2012-01-02T00:32:14.050 に答える