通过Ajax调用WebService接口(使用CORS方式解决跨域跨域问题)(WebService使用Java开发)

通过Ajax调用WebService接口首先需要解决Ajax跨域的问题,解决方式如下:

(1)项目中引入jar包,maven项目直接在pom.xml中添加如下依赖即可


    
      com.thetransactioncompany
      cors-filter
      2.6
    
    
      com.thetransactioncompany
      java-property-utils
      1.13
    

(2)在Web.xml中添加如下配置(此filter放第一个):


    
      CORS
      com.thetransactioncompany.cors.CORSFilter
      
        cors.allowOrigin
        *
      
    
    
      CORS
      /*
    

 

Ajax调用WebService接口的方法如下:

function testBtn() {
            let testBtn = document.getElementById('testBtn');
            var paramsXml = '' +
                '' +
                '' +
                '22' +
                'Jack' +
                '' +
                '' +
                '';
            $.ajax({
                url: "http://localhost:8080/webservice_pro_war/services/proService/proService/testObject",
                type: "POST",
                dataType: "XML",
                contentType: "text/xml; charset=UTF-8",
                data: paramsXml,
                // crossDomain: true,
                beforeSend: function (XMLHttpRequest) {
                    XMLHttpRequest.setRequestHeader("SOAPAction", "");
                },
                success: function (data) {
                    let ele = data.getElementsByTagName("return")[0];
                    document.getElementById('response').innerHTML = ele.childNodes[0].childNodes[0].data + ele.childNodes[1].childNodes[0].data;
                    // console.log(ele.childNodes[0].childNodes[0].data);
                    // alert(ele.childNodes[1].childNodes[0].data);
                    // console.log(JSON.parse(ele.childNodes[0].data).age);
                    // alert(JSON.parse(ele.childNodes[0].data).name);
                }
                // error: function (data) {
                //     console.log(data);
                // }
            });
        }

 

你可能感兴趣的:(WebService,Java,Ajax)