所以ajax正在调用: http://127.0.0.1:5000/'+ x“ /” + y
但是我一直得到的错误是: 127.0.0.1--[19 / Feb / 2019 15:38:40]“ [33mGET /-1/0.2?_=1550608718380 HTTP / 1.1 [0m] 404-
我尽了一切努力,甚至在发布之前都对StackOverflow进行了广泛的搜索。
假设x和y的值在-1和1之间。从错误日志中可以明显看出,它正在读取数字。因此,我认为这与FLASK有关。我想做的是让flask检索那些x和y值,但我不认为它会以某种方式接收它们。当我在jupyter笔记本中运行相同的Mongo查询时,检索该数据没有问题。因此它与Mongo毫无关系。
我在另一个项目中使用了几乎完全相同的javascript代码和flask方法,并且没有任何问题
这是我的烧瓶代码:
@app.route("/<int:mn>/<int:mx>")
def polarity(mn,mx):
pol=tweet.aggregate([{"$match":{"polarity":{"$gte":mn,"$lte":mx}}}]);
return dumps(pol)
Javascript:
$.ajax({
cache: false,
url:'http://127.0.0.1:5000/'+x.val()+"/"+y.val(),
type:'get',
dataType:"json",
success:function(data){
console.log(data);
$.each(data,function(i,data){
results.push(data);
$('.latest-tweet').hide()
});
console.log(results)
// createCards.dom(results)
}
});
答案 0 :(得分:1)
您对/<int>/<int>
的值不是整数。这导致它找不到终点/<int>/<float>
,因为它正在寻找@app.route("/<string:mn>/<string:mx>")
def polarity(mn,mx):
try:
mn = float(mn)
mx = float(mx)
except ValueError:
return Response(status=400)
pol=tweet.aggregate([{"$match":{"polarity":{"$gte":mn,"$lte":mx}}}]);
return dumps(pol)
将端点更改为
data.head()
这将使您处理负浮点数