2

Windows Phone で Cordova 2.6.0 と jQuery 1.8.1 に問題が発生しました。

(iOS / Android およびブラウザーで動作する$(xmlHttpRequest.responseXML).find("Item")) を作成すると、Windows Phone で空の要素が返されますxmlHttpRequest.responseXML.documentElement

問題はjQueryのようですが、なぜですか?何か案は ?

ありがとう !

編集:私が見返りに得たSOAPエンベロープはこのようなものです(WP8のFiddlerで見られます)

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body>
    <MethodName xmlns="http://url.com/services/contract">
      <MethodNameResult xmlns:a="http://schemas.datacontract.org/2004/07/xxx.yyy.aaa.bb.cc.Result" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
        <a:Item xmlns:b="http://schemas.datacontract.org/2004/07/xxx.yyy.aaa.bb.cc"> 
          <b:Active>Active</b:Active>
          <b:Comment i:nil="true"/>
          <b:Company>My company</b:Company>
          <b:DisplayName>The best company ever</b:DisplayName>
          <b:Email>contact@url.com</b:Email>
          <b:Fax i:nil="true"/>
          <b:FirstName>Alx</b:FirstName>
          <b:GenderTypeId>Male</b:GenderTypeId>
          ...

編集:.find("a:Item")動作しません!

4

2 に答える 2

2

別の解決策は、次のような新しい関数を作成することです。

 $.fn.filterNode = function(name) {
    return this.find('*').filter(function() {
       return this.nodeName === name;
    });
 };

そして、名前を「a:Item」に設定します!

理由はわかりませんが、このソリューションは WindowsPhone Web App で機能します。

于 2013-04-25T09:37:35.597 に答える
1

そのように XML を解析するのではなく、jQuery と DataType xml の ajax メソッドを使用してください。これが問題を引き起こすかどうかはわかりませんが、可能性があります。

この投稿を確認してください: jQuery の $(responseXML) 構文を使用して XML を確実に解析できますか?

于 2013-04-24T14:08:26.147 に答える