错误如上图,在本地直接运行时不会报错,但是使用django发送ajax请求到后台获取一样的数据的时候就会出错。
问题原因很简单:使用request.GET获取参数值的时候为str类型,但是在直接定义的时候会是float类型。这样在传递参数的时候就会因为类型问题出现报错。
解决方法:lng = float(request.GET['lng']),同理lat也是,这样就可以解决问题了。
补充一句:当你使用了gdal中的xxx = ReadAsArray()方法且需要返回JSON时记得使用xxx.tolist(),先将ndarry的类型转换成list类型。因为JSON中不支持ndarry.float但是支持list.float,否则返回JSON时会报错