我有一个应用程序,我在其中使用flask、python、ajax、json、javascript和传单。这个应用程序读取一个csv文件,将其转换为json格式,然后将其返回给ajax调用。我的问题是没有返回geojson。在控制台中,我在控制台日志中收到5000个网络错误。最终结果是在单张映射层中使用返回的geojson。如果我删除jsonify,返回的结果会很好,但是它是一个字符串,这对层来说不起作用。在
如您所见,我在ajax成功部分有一个简单的警告(“success”)。这不是在执行。警报(数据)也没有。
在from Flask import语句中确实有jsonify。
谢谢你的帮助
Ajax调用$.ajax({
type : "POST",
url : '/process',
data: {
chks: chks
}
})
.success(function(data){
alert("success"); // I am doing this just to get see if I get back here. I do not
alert(data);
Python/烧瓶
^{pr2}$
更多信息-把David Knipe的信息放在手上,如果我从return语句中删除jsonify,它将返回我期望的结果,并且可以在警报中输出返回值。看起来像这样{ "type" : "Feature Collection",
"features" : [
{"type" : "Feature",
"geometry" : {
"type" : "Point",
"coordinates" : [ -86.28, 32.36]},
"properties" : {"name" : "Montgomery"}
},
{ "type" : "Feature",
"geometry" : {
"type" : "Point",
"coordinates" : [ -105.42, 40.30]},
"properties" : {"name" : "Boulder"}
},
]}
如果我把这些数据硬编码到ajax成功中,然后像这样把它传递到传单层代码-它会工作的,我的点将显示在我的地图上...
.success(function(data){
var pointsHC= { "type" : "Feature Collection",
"features" : [
{"type" : "Feature",
"geometry" : {
"type" : "Point",
"coordinates" : [ -86.28, 32.36]},
"properties" : {"name" : "Montgomery"}
},
{ "type" : "Feature",
"geometry" : {
"type" : "Point",
"coordinates" : [ -105.42, 40.30]},
"properties" : {"name" : "Boulder"}
},
]};
// leaflet part
var layer = L.geoJson(pointsHC, {
pointToLayer: function(feature, latlng){
return L.circleMarker( ...
如果我不硬编码并通过一个变量传递数据,它就不起作用了,我会得到一个无效的geoJson对象。我试过把最后一个分号去掉,也不去掉,两种方式都没有爱情...
.success(function(data){
// leaflet part
var layer = L.geoJson(data, {
pointToLayer: function(feature, latlng){
return L.circleMarker( ...