flask ajax json html,后端后,渲染模板通过Flask中的Ajax从前端接收JSON

我试图通过Ajax接收Post quest(JSON文件)后呈现模板,但是它不起作用,除了我进入页面http://localhost:5000/distance_comuting时,它可以显示数据结果['lat'] * data ['lng']

这是我的代码

@main.route('/distance_computing', methods = ['GET','POST'])

def distance_computing():

data = request.get_json()

return render_template('main/test.html', result = data['lat']*data['lng'])

错误是:

Traceback (most recent call last):

File "/Users/user/PycharmProjects/website/venv/lib/python3.6/site-packages/flask/app.py", line 2309, in __call__

return self.wsgi_app(environ, start_response)

File "/Users/user/PycharmProjects/website/venv/lib/python3.6/site-packages/werkzeug/contrib/fixers.py", line 152, in __call__

return self.app(environ, start_response)

File "/Users/user/PycharmProjects/website/venv/lib/python3.6/site-packages/flask/app.py", line 2295, in wsgi_app

response = self.handle_exception(e)

File "/Users/user/PycharmProjects/website/venv/lib/python3.6/site-packages/flask/app.py", line 1741, in handle_exception

reraise(exc_type, exc_value, tb)

File "/Users/user/PycharmProjects/website/venv/lib/python3.6/site-packages/flask/_compat.py", line 35, in reraise

raise value

File "/Users/user/PycharmProjects/website/venv/lib/python3.6/site-packages/flask/app.py", line 2292, in wsgi_app

response = self.full_dispatch_request()

File "/Users/user/PycharmProjects/website/venv/lib/python3.6/site-packages/flask/app.py", line 1815, in full_dispatch_request

rv = self.handle_user_exception(e)

File "/Users/user/PycharmProjects/website/venv/lib/python3.6/site-packages/flask/app.py", line 1718, in handle_user_exception

reraise(exc_type, exc_value, tb)

File "/Users/user/PycharmProjects/website/venv/lib/python3.6/site-packages/flask/_compat.py", line 35, in reraise

raise value

File "/Users/user/PycharmProjects/website/venv/lib/python3.6/site-packages/flask/app.py", line 1813, in full_dispatch_request

rv = self.dispatch_request()

File "/Users/user/PycharmProjects/website/venv/lib/python3.6/site-packages/flask/app.py", line 1799, in dispatch_request

return self.view_functions[rule.endpoint](**req.view_args)

File "/Users/user/Document/Python/User.github.io/Code/app/main/views.py", line 34, in distance_computing

return render_template('main/test.html', result = data['lat']*data['lng'])

TypeError: 'NoneType' object is not subscriptable

然后我尝试print(data)

j2S4j.png

第一次,它是None,然后在接收到Ajax时,它变成JSON数据。但已经使用无...呈现了模板...

navigator.geolocation.getCurrentPosition(function (position) {

var pos = {

lat: position.coords.latitude

lng: position.coords.longitude

};

req = $.ajax({

type: 'POST',

url: 'http://localhost:5000/distance_computing',

data: JSON.stringify(pos),

contentType: 'application/json; charset=UTF-8',

dataType: 'json',

success: function (data) {

console.log(data);

$('#omg').html(data)

},

error: function(xhr, status, error)

{ console.log(error) }

});

});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值