$.post() 为什么我没有收到警报?
$.post() why i am not getting the alert?
我不会将这 2 个值传递给 jsp 页面和 return 一些数据我用警报测试它并且我的值是正确的没有 $.post()
function deleteFunction(courseId, userId) {
$.post('../controlers/doDelete.jsp', {courseId: courseId, userId: userId}, function (data) {
alert("somthing here");
});
location.reload();
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span onclick="deleteFunction('<%=c.getCourse_id()%>','<%=me.getId()%>');">click me</span>
在该位置使用 location.reload();
将在 AJAX 调用的 return 之前重新加载页面。 $.post()
产生一个异步操作。也就是说,调用触发到服务器并且脚本在等待 return.
时继续执行
如果您想要在 页面重新加载之前调用 return ,请尝试以下代码:
function deleteFunction(courseId, userId) {
$.post('../controlers/doDelete.jsp', {courseId: courseId, userId: userId}, function (data) {
alert("somthing here");
location.reload();
});
}
传递给 $.post()
的函数是在 调用 ajax 之后发生的回调return编辑。通过将 location.reload();
添加到回调函数,您允许调用完成,为您提供了对 returned 数据执行某些操作的机会(在本例中触发 alert
) 然后,在前面的操作完成后,重新加载页面。
或者,您可以使用 $.ajax() 并将 asynch : false
选项传递给它。
function deleteFunction(courseId, userId) {
$.ajax({
url: '../controlers/doDelete.jsp',
type: 'POST',
dataType: 'json',
asynch: false,
data: {
courseId: courseId,
userId: userId
}
}).done(function(data) {
alert("something here");
});
location.reload();
}
asynch : false
同步强制 ajax 到 运行,因此,脚本停止并等待 ajax 请求完成,而不是 ajax 运行宁在后台。
我不会将这 2 个值传递给 jsp 页面和 return 一些数据我用警报测试它并且我的值是正确的没有 $.post()
function deleteFunction(courseId, userId) {
$.post('../controlers/doDelete.jsp', {courseId: courseId, userId: userId}, function (data) {
alert("somthing here");
});
location.reload();
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span onclick="deleteFunction('<%=c.getCourse_id()%>','<%=me.getId()%>');">click me</span>
在该位置使用 location.reload();
将在 AJAX 调用的 return 之前重新加载页面。 $.post()
产生一个异步操作。也就是说,调用触发到服务器并且脚本在等待 return.
如果您想要在 页面重新加载之前调用 return ,请尝试以下代码:
function deleteFunction(courseId, userId) {
$.post('../controlers/doDelete.jsp', {courseId: courseId, userId: userId}, function (data) {
alert("somthing here");
location.reload();
});
}
传递给 $.post()
的函数是在 调用 ajax 之后发生的回调return编辑。通过将 location.reload();
添加到回调函数,您允许调用完成,为您提供了对 returned 数据执行某些操作的机会(在本例中触发 alert
) 然后,在前面的操作完成后,重新加载页面。
或者,您可以使用 $.ajax() 并将 asynch : false
选项传递给它。
function deleteFunction(courseId, userId) {
$.ajax({
url: '../controlers/doDelete.jsp',
type: 'POST',
dataType: 'json',
asynch: false,
data: {
courseId: courseId,
userId: userId
}
}).done(function(data) {
alert("something here");
});
location.reload();
}
asynch : false
同步强制 ajax 到 运行,因此,脚本停止并等待 ajax 请求完成,而不是 ajax 运行宁在后台。