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

URL に不正な文字が含まれているようです。これを試してください

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

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

データパラメータとしてそれを入れると、うまくいけば不正な文字がエスケープされます

編集:

あなたの問題をもっと調べてみてください - それにはさらに2つの可能性があります:

1 ) クロスドメインリクエストを実行しようとしています - これは XML では許可されていません (http://localhost:8984クロスドメインと同じでない場合は、ブラウザで URL を見て判断できます)

2 ) 返された xml 応答が正しくありません

于 2013-05-09T03:31:54.823 に答える