2016-10-28 1 views
0

私はAJAX呼び出しとそのために、私はいくつかの操作を行っているから取得したXMLオブジェクトを持っている:「プロローグで許可されていないコンテンツ」エラーを回避するためにXMLオブジェクトをクリーニングするにはどうすればよいですか?

$.ajax({ 
      url: "url_of_xml", 
      type: 'GET', 
      dataType: 'xml', 
      success: function (xml) { 
       var sld_doc= $(xml) 

       // manipulations with the XML file 
      } 
    }) 

XMLファイルが正常に変更され、私はそれが(追加/変更されたノードに)する必要がどのようになっています。今私は(GeoServerインスタンスに)変更されたXMLをPOSTする必要があります。

 $.ajax({ 
       url: "geoserver/rest/styles", 
       type: 'POST', 
       data: sld_doc, 
       headers: { 
        "Content-Type": "application/vnd.ogc.sld+xml" 
       }, 
       dataType: 'json', 
       success: function (data) {a 
        console.log(JSON.stringify(data)); 
       }, 
       error: function (x, e) { 
        console.log(x.status + " " + x.responseText); 
       } 
      }); 

私はエラーを取得しています:私は何を読んで、それは時にタグの前の文字によって引き起こされていることから500 org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; Content is not allowed in prolog.

XML文書の始まり。

XMLオブジェクトがサーバーに正しく送信されるように、XMLオブジェクトの呼び出しをクリーンアップするにはどうすればよいですか。私はsld_doc.find("node_name")でノードにアクセスできますが、最初のノード(<?xml>)の前に無効な文字をチェックするにはどうしたらいいですか?

+0

操作後にsld_docの内容を表示できますか?また、あなたのPOSTのdataTypeはxmlであることを意味していますか? –

+0

javascriptのXMLオブジェクトからXMLコンテンツ全体をどのように印刷できますか? 'sld_doc [0] .firstChild'または' sld_doc [0] .documentElement'または 'XMLSerializer()。serializeToString(sld_doc [0])'を使用すると、 ''ノードが得られません。 1つ後 – kaycee

+0

はいGeoServerに送信されるコンテンツはXMLである必要があります。http://docs.geoserver.org/stable/en/user/rest/api/styles.html#styles-format – kaycee

答えて

1

現在、jQueryオブジェクトを渡しています。アンラップして適切なデータタイプを設定してみてください:

$.ajax({ 
    url: "geoserver/rest/styles", 
    type: 'POST', 
    data: sld_doc[0], 
    headers: { 
     "Content-Type": "application/vnd.ogc.sld+xml" 
    }, 
    dataType: 'xml', 
    success: function (data) {a 
     console.log('success'); 
    }, 
    error: function (x, e) { 
     console.log('error'); 
    } 
}); 
+0

私は 'SCRIPT16389:行8478の未処理例外、http://localhost/Scripts/jQuery/jquery-2.1.4.jsの列4を得ます 0x80004005 - JavaScriptランタイムエラー:不特定のエラー ' – kaycee

+0

あなたのコードのどの行がそのエラーを引き起こしているのでしょうか?私はちょうど私の答えを修正したので、おそらくあなたはそれを試すことができ、コンソールに何が表示されるか教えてください。 –

+0

リクエストでXML文書を使用してもJSランタイムエラーが発生します。XML文書が有効なので、どの行でエラーが発生する可能性がありますかわかりません。 – kaycee

関連する問題