Ajax POST请求调用Geoserver的WFS服务


Ajax POST请求调用Geoserver的WFS服务

在使用jquery的POST调用Geoserver的WFS服务遇到的问题
1、Geoserverde的WFS服务传入的参数是XML的String类型,Content-type为contentType:”text/plain;charset=UTF-8”,开始没有注意到ajax的post请求的默认 contentType默认值: “application/x-www-form-urlencoded”。

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <script src="../lib/ol-debug.js"></script>
    <script src="../lib/jquery.min.js"></script>
    <link href="../lib/ol.css" rel="stylesheet">
    <title></title>
</head>
<body>
<button onclick="request()">请求</button>
<script type="text/javascript">
    var string1 = "<GetFeature xmlns=\"http://www.opengis.net/wfs\" service=\"WFS\" version=\"1.1.0\" outputFormat=\"application/json\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.1.0/wfs.xsd\"><Query typeName=\"osm:water_areas\" srsName=\"EPSG:3857\" xmlns:osm=\"http://openstreemap.org\"><Filter xmlns=\"http://www.opengis.net/ogc\"><And><PropertyIsLike wildCard=\"*\" singleChar=\".\" escapeChar=\"!\"><PropertyName>name</PropertyName><Literal>Mississippi*</Literal></PropertyIsLike><PropertyIsEqualTo><PropertyName>waterway</PropertyName><Literal>riverbank</Literal></PropertyIsEqualTo></And></Filter></Query></GetFeature>";

    function request(){
     $.ajax({
        type: 'POST',
        url: "http://demo.boundlessgeo.com/geoserver/wfs",
        data: string1,
        success: function (data) {
           console.log(data);
        },
        error:function(data){
             console.log(data);
         },
        contentType:"text/plain;charset=UTF-8",
        dataType: "json"
    })
    }
</script>
</body>
</html>

AJAX使用介绍

转载自:https://blog.csdn.net/jackliuy/article/details/52234938

You may also like...