javascript - JavaScript - 在提交按钮后将用户重定向到 API 响应中提供的 URL
问题描述
我有一个带有姓名、电子邮件、电话、密码输入的 HTML 提交表单。单击“提交”按钮后,我通过 jQuery 脚本将所有数据发送到 API:
function login() {
var request = new XMLHttpRequest();
request.open('POST', 'https://ensyu6r51m3oldb.m.pipedream.net');
request.setRequestHeader('Content-Type', 'application/json');
request.setRequestHeader('Accept', '*/*');
request.onreadystatechange = function() {
if (this.readyState === 4) {
console.log('Status:', this.status);
console.log('Headers:', this.getAllResponseHeaders());
console.log('Body:', this.responseText);
}
};
var arguments = $('#h14kLToIyLIMrHQDo37BZUtKoTg6bMlH').serializeArray().reduce(function(obj, item) {
obj[item.name] = item.value;
return obj;
}, {});
var body = { arguments };
request.send(JSON.stringify(body));
}
现在到了我需要帮助的部分——我从 API 提供商那里得到了一个响应,其中包含我应该重定向用户以进行自动登录的 URL,但我不知道如何获取该 URL 并重定向到它。
以下是 API 响应示例:
{
"status": "something"
"url": "https.." // redirect to that
"object_id": xxx // customer ID
}
也许有人可以帮助我调整脚本,以便将用户重定向到自动登录到应该从 API 响应中获取的 URL?
非常感谢你的帮助!
解决方案
您可以将 window 对象上的 location.href 更改为您在响应中收到的 url。代码是
window.location.href = JSON.parse(this.responseText).url;
推荐阅读
- javascript - 如何在 Map 中找到键,其中键包含某个值?
- java - 使用 Comsol API 在 Java 中出现 FlException:无法获取用户名和密码
- r - 是否可以使用 spData/tmap 包创建英国县的地图
- node.js - Google Translate API:音译输入
- mysql - 如何通过将一个表中的日期与另一个表中最接近和之前的日期匹配来连接两个表
- python - PyOpenCl 简单矩阵乘法
- authentication - JSF 2.3 基于表单的登录和 ViewExpiredException
- sql - 使用 SQL 文件作为 React Native 数据的数据存储库
- c - 如何将标准输入返回到控制台?
- sass - 是否可以使用 SASS 创建包含选择器的函数(或其他东西)?