0

我有以下使用 jquery 的 ajax 帖子:

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

这是由单击按钮触发的,并且“/ login”映射到我的服务器(使用Bottle):

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

我面临的问题是我的回调永远不会被调用,而是我取回了一个在我的身体里有“东西”的 html 页面。

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

4

1 回答 1

1

我怀疑你是用标签内的提交按钮之$.post类的东西来触发你的。如果是这种情况,那么您的表单将执行标准提交并由您的服务器重定向到相关操作。为了防止这种情况(并允许 ajax 发生),您需要阻止浏览器默认的表单提交行为。这可以像这样轻松完成:.click<form>

 $('#IDofYourForm').submit(function(e){ e.preventDefault(); });
于 2012-07-17T03:06:51.517 回答