我對eXistDB相當陌生,但我正在嘗試使用它創建一個小應用程序。從existsDB請求JSON
我使用在需要時用下面的代碼通過jQuery要求現有的JSON文件中的JavaScript例如:
$.getJSON('path/to/file.json').
done(function(data) {
$.each(data, function(key, zone) {
addRegion(zone, element);
});
});
這隻要JSON文件存在,無論eXistDB的工作。我現在想要的不是加載現有的JSON文件,而是調用一個eXist函數,如app:getJSON,它返回一個動態生成的JSON對象。我讀了一些關於eXists JSON序列化器在這裏http://exist-db.org/exist/apps/wiki/blogs/eXist/XQuery31和我認爲我將設法產生並返回一個JSON對象在XQuery函數中,但我不知道如何通過來自我的JavaScript的URL調用這樣的函數(或者這裏是JQuery )。
我期望的解決辦法看起來有點像這樣:
Java腳本:
$.getJSON('/app-getJSON?parameter1=wert1¶meter2=wert2').
done(function(data) {
$.each(data, function(key, zone) {
addRegion(zone, element);
});
});
,然後在我的app.xql我想有這樣的:
declare function app:getJSON($node as node(), $model as map(*), $parameter1 as xs:string?, $parameter2 as xs:string?){
(:here the JSON Object is generated from the XML collection and returned:)
};
所以問題歸結爲:是否可以通過URL訪問xQuery函數,如果可以,如何實現?如果沒有,我還可以請求通過JS/JQuery從我的XML文件生成的JSON數據?我知道這是非常模糊的,這個問題給了我新的eXistDB,但我找不到一個我可以理解的類似示例。所以,也許有人對我有一個想法,即使它只是一個「你應該真正閱讀這個,這個和這個」的第一個。 非常感謝。
對不起,現在只回復,因爲時間非常有限,我沒有繼續這個項目。完美的解決方案,正是我想要的:D –
太棒了,很高興聽到它! – joewiz
我現在陷入了一種情況,我有幾十個這樣的xq文件,其中每個文件只做一個小任務,比如「更新集合中的這個xml文件」或者「將這個xml文件從這裏複製到那裏」。我想將它們存儲爲一個模塊,其中每個任務都是一個函數,然後再次...通過JavaScript調用這些函數。但是如何?我的意思是說:有什麼能夠將http請求映射到xquery函數? –