【问题标题】:Send XML Request and receive XML Response from other server using Ajax or Javascript使用 Ajax 或 Javascript 发送 XML 请求并从其他服务器接收 XML 响应
【发布时间】:2016-04-27 08:18:57
【问题描述】:

我必须将 Xml 发送到其他服务器(旅游公司的 Web 服务)并以 Xml 接收响应 xml请求的一个例子是: ..................................................... ..................................................... ..................................................... .

<?xml version="1.0" encoding="UTF-8"?>
    <Request RequestType="getCountryRequest">
        <AuditInfo>
            <RequestId>
                001
            </RequestId>
            <RequestUser>
                user
            </RequestUser>
            <RequestPass>
                password
            </RequestPass>
            <RequestTime>
                2012-09-04T18:00:46
            </RequestTime>
            <RequestLang>
                RO
            </RequestLang>
        </AuditInfo>
        <RequestDetails>
            <getCityRequest CountryCode="RO"/>  
        </RequestDetails>
    </Request>

并且响应必须看起来像

<?xml version="1.0" encoding="utf-8"?> 
<Response ResponseType="getCityResponse">   
    <AuditInfo>     
        <ResponseId>
            12940524
        </ResponseId>     
        <RequestId>
            12949986
        </RequestId>     
        <ResponseTime>
            2012-09-04T18:10:02
        </ResponseTime>   
    </AuditInfo>   
    <ResponseDetails>     
        <getCityResponse>       
            <City>         
                <CountryCode>
                    ENG
                </CountryCode>         
                <CityCode>
                    ENG
                </CityCode>         
                <CityName>
                    Madrid
                </CityName> 
            </City>
        </getCityResponse>   
    </ResponseDetails> 
</Response>

请帮帮我!

【问题讨论】:

    标签: javascript php ajax xml


    【解决方案1】:

    它应该接近这个(使用 jQuery):

        var query = '<?xml version="1.0" encoding="UTF-8"?><Request RequestType="getCountryRequest"><AuditInfo><RequestId>001</RequestId>'+
                '<RequestUser>user</RequestUser><RequestPass>password</RequestPass><RequestTime>2012-09-04T18:00:46</RequestTime><RequestLang>'+
                 'RO</RequestLang></AuditInfo><RequestDetails><getCityRequest CountryCode="RO"/></RequestDetails></Request>';
    
        $.ajax({
        url: 'YOUR_URL_HERE',
        data: query, 
        type: 'POST',
        contentType: "text/xml",
        dataType: "text",
        success : function (xmlResponse){
            xmlResponse = $.parseXML( xmlResponse ),
            $xml = $( xmlResponse ),
            $title = $xml.find( "ResponseId" ); //to get the ResponseId for example
        },
    }); 
    

    【讨论】:

    • 有冲突:&lt;?xml version="1.0" encoding="UTF-8"?&gt; 我认为问题是
    • 现在出现错误:XMLHttpRequest cannot load http://paradis.touringit.ro/server_xml/server.php. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://all-in-one.wdigital.md' is therefore not allowed access.
    • 这就是我所担心的,api服务器似乎不允许跨域ajax查询,所以你需要使用cUrl或其他服务器端脚本发送请求。
    猜你喜欢
    • 1970-01-01
    • 2012-03-11
    • 2011-06-07
    • 2013-03-11
    • 2018-01-06
    • 1970-01-01
    • 1970-01-01
    • 2016-11-30
    • 1970-01-01
    相关资源
    最近更新 更多