2016-04-06 12 views
1

Ionicで使用してリクエストしています。私の応答はXML形式です。要求後、私はコンソールにエラーがあります。 AngularJsIonicについてよくわかりません。角度js ionicでsoap requestを使用してxml応答を取得

<WSTransferOfListOfWSListItem> 
    <Message/> 
    <Success>true</Success> 
    <ProcessTime>748.8048</ProcessTime> 
    <ReturnObject> 
     <WSListItem> 
     <Selected>false</Selected> 
     <Text>A KWIK FUEL</Text> 
     <Value>KWIKFUEL</Value> 
     </WSListItem> 
     <WSListItem> 
     <Selected>false</Selected> 
     <Text>WILSON FARMS</Text> 
     <Value>WILSON</Value> 
     </WSListItem> 
    </ReturnObject> 
    <ResponseStatus> 
     <Success>false</Success> 
     <ProcessTime>0</ProcessTime> 
     <MessageType>Warning</MessageType> 
    </ResponseStatus> 
    </WSTransferOfListOfWSListItem> 

私は、この問題を解決する方法を、コンソール結果は[object Object]であることを取得していますか? これは私のコードです:

.controller('LoginCtrl', function($scope, $soap) { 
$scope.user= {}; 
$scope.login = function() { 
    if (typeof $scope.user.username == "undefined") { 
    alert("Please enter username"); 
    } else if (typeof $scope.user.password == "undefined") { 
    alert("Please enter password"); 
    } else { 
     $soap.post("http://abc.asmx","AccountList", 
     {UserName: $scope.user.username, Password: $scope.user.password, DeviceId: "E3-2A-6A-42-6D-C9-26-4F-10-A9-2C-3E-58-7D-00-2E-89-23-99-DD"}) 
     .then(function(response) 
     { 
      $scope.response = response.data; 
      console.log(response); 
     }); 
    } 
}; 
}) 

はあなたが

答えて

0
Finally, I have done this using $http request and save response in local directory then call this local file(js/AccountList.xml).I have converted XML to JSON using xml2json.js. 
.controller('LoginCtrl', function($scope, $http) { 

$scope.user= {}; 
$scope.login = function() { 
    if (typeof $scope.user.username == "undefined") { 
    alert("Please enter username"); 
    } else if (typeof $scope.user.password == "undefined") { 
    alert("Please enter password"); 
    } else { 
     $http.post("js/AccountList.xml","AccountList", 
       {UserName: $scope.user.username, Password: $scope.user.password, DeviceId: "E3-2A-6A-42-6D-C9-26-4F-10-A9-2C-3E-58-7D-00-2E-89-23-99-DD"}) 
      .then(function(response) 
      { 
       var x2js = new X2JS(); 
       var aftCnv = x2js.xml_str2json(response.data); 
       var jsonResult = JSON.stringify(aftCnv.WSTransferOfListOfWSListItem.ReturnObject); 
       console.log("========jsonResult========" + jsonResult); 
     }); 
    } 
}; 
}) 
0

$石鹸サービスのJavaScriptオブジェクトに、サーバーによって返されたXMLをデシリアライズしますありがとうございました。そのため、コンソールにはObject Objectが表示されます。オブジェクトをコンソールで展開するか、then関数でブレークポイントを設定してオブジェクトを検査してみてください。

+0

これを行います。 ionic serveを使用して通常のブラウザで実行してみてください。デバッグするのが最も簡単です。 Androidの場合は、https://developer.chrome.com/devtools/docs/remote-debuggingの手順に従ってください。 iOSの場合は、次の質問をご覧ください:http://stackoverflow.com/questions/25689270/debug-ionic-app-on-ios – fikkatra

+0

私はconsole.log(response.ReturnObject.WSListItem.Text)のとき、最後のレコードしか取得していません。すべてのレコードを取得するには? –

+0

$ soapは、ReturnObjectがリストアイテムの配列であると認識していないようです。 https://github.com/andrewmcgivery/angular-soap/issues/23この問題に関連する可能性があります – fikkatra

0

あなたがあなたのアプリをテストし、デバッグできるようにしたい場合は、それを把握する必要があるとしている。..はconsole.log(JSON.stringify(レスポンス))

関連する問題