这是我的代码,
$.ajax({
type: "POST",
url: action,
data: params,
success: function() {
alert("Success");
},
error: function() {
alert("error occurred");
} });
我在模态对话框窗口中有一个表单,在提交时我想留在对话框中而不是返回到原始窗口。我已经通过用div包围对话框的内容,然后在成功部分中调用#div.load(“some page”)来解决其他问题。
但是,由于某些原因,在此页面上,成功部分根本没有执行,虽然表单正确提交,对话框关闭,请求重新提交到表单的操作URL。我试图使请求异步,但这没有帮助。
我无法理解为什么同样适用于其他功能的代码在这里不起作用。 如果您有任何想法,请告诉我。
谢谢, 娜塔莎
答案 0 :(得分:2)
纯粹是猜测,因为没有足够的代码可以告诉,但我会说你的ajax函数是由一个通常会导致表单回发到服务器的事件触发的。尝试在生成ajax请求的处理程序中返回false以停止默认事件处理操作。
$('input[type=submit]').click( function() {
$.ajax( ... );
return false;
});
如果是这种情况,那么正在进行ajax调用,但在调用成功处理程序之前,页面会因回发而卸载。