2014-03-31 35 views
0

我想問一下是否可以通過ajax獲取JSP格式的響應數據內部的特定值。javascript jquery ajax通過使用xml post方法處理jsp格式的響應

下面是我的源代碼:

$.ajax({ 
     type: 'POST', 
     contentType: 'application/x-www-form-urlencoded; charset=UTF-8', 
     url: rootURL, 
     dataType: "xml", 
     data: postParameter(), 
     complete:function(data){ 
      if (data.readyState == 4 && data.status == 200) { 
       var response = data.responseText; 
      } 
     }, 
    }); 

請參閱以下的響應數據從服務器

<?xml version="1.0" encoding="UTF-8" ?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="http://www.w3.org/1999/XMLSchema"> 
<SOAP-ENV:Body><MYTesting_AppResponse xmlns="WebServices"> 
<return> 
<status>success</status> 
<resourceMessageBean> 
<rsa_note3>To proceed, please enter your password and click "Login"</rsa_note3> 
<phrase>???en.common.password.login.p3???</phrase> 
<username>Username</username> 
<password>Password</password> 
</resourceMessageBean> 
<loginFormBean> 
<username>tester1</username> 
</loginFormBean> 
</return> 
</MYTesting_AppResponse> 
</SOAP-ENV:Body> 
</SOAP-ENV:Envelope> 

可我知道如何用JS從響應得到「resourceMessageBean」?

從服務器另一種反應:

<SOAP-ENV:Body> 
<M2UPayLogin_AppResponse xmlns="WebServices"> 
    <return> 
     <status>success</status> 
     <resourceMessageBean> 
      <rsa_note3>To proceed, please enter your password and click "Login"</rsa_note3> 
      <phrase>Phrase</phrase> 
      <username>Username</username> 
      <password>Password</password> 
     </resourceMessageBean> 
     <loginFormBean> 
      <username>tester1</username> 
     </loginFormBean> 
     <navigationsBean> 
      <login> 
      <a href="www.google.com">Login</a> 
      </login> 
     </navigationsBean> 
    </return> 
</M2UPayLogin_AppResponse> 

如何從navigationsBean獲得「www.google.com」,因爲我用下面的只顯示文本「登錄」的唯一方法。

回答

0
$.ajax({ 
     type: 'POST', 
     contentType: 'application/x-www-form-urlencoded; charset=UTF-8', 
     url: rootURL, 
     dataType: "xml", 
     data: postParameter(), 
     complete:function(xml){ 
      $(xml).find('resourceMessageBean').each(function(){ 
      var username = $(this).find('username').text(); 
      }); 
     } 
    }); 

更新:

$.ajax({ 
      type: 'POST', 
      contentType: 'application/x-www-form-urlencoded; charset=UTF-8', 
      url: rootURL, 
      dataType: "xml", 
      data: postParameter(), 
      complete:function(xml){ 
       $(xml).find('navigationsBean').each(function(){ 
       var username = $(this).find('login a').text(); 
       }); 
      } 
     }); 
+0

大回答,謝謝。 – user3479640

+0

@ user3479640,很高興爲您效勞。不用謝。 – RGS

+0

我想再次詢問有關此回覆的內容,如果回覆包括Google,我如何從標記中獲得「www.google.com」? – user3479640