1

我正在尝试使用以下代码执行 xquery 并获取其结果:

$.get('http://localhost:8984/rest/lod?query=/*:teiCorpus//*:TEI',
    function(data) { 
        alert(data); 
    });

我期待一个 xml 响应,但到目前为止我没有得到任何东西。Firebug 显示以下错误:

XML Parsing Error: no element found Location: moz-nullprincipal:{a9dddfb7-5488-424b-8ab1-76913e889282} Line Number 1, Column 1: ^

我不明白我做错了什么。有任何想法吗?

编辑:当我放置:

http://localhost:8984/rest/lod?query=/*:teiCorpus//*:TEI

在我的地址栏中,我得到

<TEI xmlns="http://www.tei-c.org/ns/1.0" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:svg="http://www.w3.org/2000/svg">
    <teiHeader type="text" xml:id="Fr1">teiHeader</teiHeader>
    <text>teiText</text>
</TEI>

这正是我需要用 get 检索的。

4

1 回答 1

2

您的网址似乎有一些非法字符,试试这个

$.get('http://localhost:8984/rest/lod',{ query: '/*:teiCorpus//*:TEI' },

    function(data) { 
        alert(data); 
    });

把它作为数据参数将有望逃脱非法字符

编辑:

更多地研究你的问题 - 可能还有两件事:

1)您尝试执行跨域请求 - XML 不允许这样做(如果它与http://localhost:8984跨域不同,您可以通过查看浏览器中的 URL 来确定)

2)您返回的 xml 响应不正确

于 2013-05-09T03:31:54.823 回答