我尝试向服务器发出最少的请求,这是通过向客户端发送一个json文件,然后处理这个json文件,
但是,我怎样才能避免刷新页面?我希望在没有刷新页面的情况下收到json
:
这是我的js / python文件:
$( document ).ready(function() {
$("#latlon").on("submit", function(){
$.ajax({
type: "post",
url: "/latlon",
data: ("#latlon").serialize(),
contentType: "application/x-www-form-urlencoded",
success: function(responseData) {
alert(responseData)
},
error: function(jqXHR, textStatus, errorThrown) {
console.log(errorThrown);
}
})
})
})
class LatLon(MainHandler):
@tornado.gen.coroutine
def post(self):
lat = self.get_argument("lat")
lon = self.get_argument("lon")
wwo.request(key=key, q="{},{}".format(lat, lon), format="json", showlocaltime="yes", cc="no", tp=6, extra="isDayTime")
yield tornado.gen.Task(ioloop.IOLoop.instance().add_timeout, time.time() + 1)
self.write(json_encode(wwo.result))
我是Ajax的新手,每次执行此程序时,我都不会得到alert
。
如何在不刷新页面的情况下发送块?
注意:方法getJSON
但它需要一些 Ready json ?
答案 0 :(得分:1)
您应该在提交事件中添加e.preventDefault();
以防止页面刷新。
$("#latlon").on("submit", function(e){
e.preventDefault();
// code here
})