javascript - 承诺履行后重定向到javascript中的另一个页面?
问题描述
我有一个通过 javascript 提交的表单。在表单提交上,我调用以下函数在循环中运行 ajax 请求以更新所有版本,我想在更新所有版本时重定向到另一个 url。我正在尝试使用 promise resolve 方法,但不确定如何在循环中与 ajax 和 ajax 一起使用,以下是我的代码。
<script>
$(document).ready(function(){
$('#frm').submit(function(e){
e.preventDefault();
var fields = $(this).serialize();
var a = $(this);
$.ajax({
type: "POST",
url: "",
data: fields,
success: function(res) {
console.log(res)
count += updateVersion(fields,a);
},
error: function(res) {
console.log(res)
}
});
console.log('count',count);
})
});
</script>
成功后,我调用了一个方法“updateVersion”,在该方法中我使用 ajax 为多个版本更新 json。
function updateVersion(fields,e){
var versions = ["v5","v6","v7","v8","v9","v4"];
const promise = new Promise((resolve, reject) => {
$.each(versions, function(key, v) {
$.ajax({
type: "POST",
url: "",
data: e.serialize()+ "&update_json=1&version="+v,
success: function(res) {
console.log(res)
status = 1;
},
error: function(res) {
console.log(res)
}
});
});
resolve(window.location.href= "https://www.example.com");
});
promise.then((successMessage) => {
console.log('Got data! Promise fulfilled.');
}, error => {
console.log('Promise rejected.');
console.log(error.message);
});
}
任何帮助将不胜感激。谢谢!
解决方案
推荐阅读
- html - VS Code 中的红色标题标签错误 - HTML/CSS
- javascript - 如果执行了多个(AND 运算符)函数,则执行某些操作
- python - mysql和python中的多线程
- node.js - NodeJS在登录后重定向用户时在url中发送一个令牌
- javascript - 无法使用 chrome-cookies-secure 模块解析 Node.js 应用程序中的 Promise
- docker - 如何从容器内的 error.log 中检索输出?
- java - 将对象从一个窗口传递到现有窗口
- c# - 将文本从一个文件复制到另一个文件会导致路径被拒绝异常
- excel - Range 类的粘贴特殊方法仅有时会失败
- c# - C# StreamReader 与 NetworkStream 挂起