瓶子响应不会触发ajax回调

时间:2012-07-17 02:45:38

标签: jquery ajax callback bottle

我使用jquery有以下ajax帖子:

$.post("/login", {}, function(data){
    alert("yolo");
});

由按钮点击触发,'/ login'映射到我的服务器(使用Bottle):

@route('/login', method='POST')
def login():
    return "something"

我面临的问题是我的回调从未被调用过,而是在我的身体中找回一个带有“东西”的html页面。

如何让我的浏览器将我的服务器响应视为数据而不是新的html页面?

1 个答案:

答案 0 :(得分:1)

我怀疑您在$.post标记内的提交按钮上触发了.click <form>之类的内容。如果是这种情况,那么您的表单将进行标准提交,并由您的服务器重定向到相关操作。要防止这种情况(并允许发生ajax),您需要阻止浏览器默认表单提交行为。这可以很容易地完成:

 $('#IDofYourForm').submit(function(e){ e.preventDefault(); });