JavaScript jquery ajax 通过使用 xml post 方法以 JSP 格式处理响应

javascript jquery ajax handle response with jsp format by using xml post method

本文关键字:方法 JSP 格式 响应 处理 post xml ajax jquery JavaScript      更新时间:2023-09-26

我想问一下是否可以通过ajax在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>

如何从导航获取"www.google.com Bean,因为我使用下面的方法只显示文本"登录"。

$.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();
              });
            }
        });