在不刷新页面的情况下从服务器获取json?

Get json from the server without refreshing the page?

我尽量减少对服务器的请求,这是通过向客户端发送一个 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?

您应该在提交事件中添加 e.preventDefault(); 以防止页面刷新。

$("#latlon").on("submit", function(e){
 e.preventDefault();
 // code here
})