我正在尝试使用the OGRE web app to convert JSON files to shapefiles进行简单的帖子请求。
我写了这段代码,但文件没有像它应该的那样下载,[编辑]它甚至没有上传json。
网站将此指定为输入请求参数:
http://ogre.adc4gis.com/convertJson with one of the following params:
json - text of the GeoJSON file
jsonUrl - the URL for a remote GeoJSON file
outputName (optional) - the name for the resulting zip file
skipFailures (optional) - skip failures
我做错了什么?
<html>
<head>
<script src="http://code.jquery.com/jquery-2.2.0.min.js" type="text/javascript"></script>
</head>
<body>
<input type="button" value="Send Post" onclick="sendPost()">
<script>
var data = { "type": "FeatureCollection",
"features": [{
"type": "Feature",
"geometry": { "type": "Point", "coordinates": [102.0, 0.5] },
"properties": { "prop0": "value0" }
}]
};
function sendPost() {
$.ajax({
type: "POST",
url: 'http://ogre.adc4gis.com/convertJson',
json: data,
success: success
});
}
function success(result) {
alert('Process achieved!');
}
</script>
</body>
</html>
我收到此错误:
Object {error: true, msg: "No json provided"}
有什么问题?
答案 0 :(得分:5)
jquery ajax没有这样的属性var content
,
将json添加为post-data,如下所示:
json
在您的成功处理程序中,您将在function sendPost() {
$.ajax({
type: "POST",
url: 'http://ogre.adc4gis.com/',
data: {json:JSON.stringify(data) },
success: success
});
}
中获得回复
不要指望您的浏览器下载Quentins Answer中所述的内容。
答案 1 :(得分:1)
但文件没有像预期的那样下载。
文件不是应该下载。
您已发出Ajax请求。对它的响应将由JavaScript处理。它将仅处理。您编写的用于处理它的JavaScript只调用alert
(而不是其他任何内容)。
如果您希望浏览器以与提交常规表单(不使用JavaScript)相同的方式处理它,那么您应该提交常规表单。 Ajax的重点是以自定义方式处理响应。