在两个系统之间传值可以采用以下几种方式:
-
使用 URL 参数:可以将数据作为 URL 参数传递给另一个系统,另一个系统可以解析 URL 参数并获取数据。例如:Example Domain
-
使用 Cookie:可以在一个系统中设置 Cookie,另一个系统可以读取该 Cookie 并获取数据。
-
使用 LocalStorage 或 SessionStorage:可以在一个系统中将数据存储在 LocalStorage 或 SessionStorage 中,另一个系统可以读取该存储并获取数据。
-
使用 PostMessage API:可以使用 PostMessage API 在两个窗口之间传递消息。其中一个窗口可以使用 window.postMessage () 方法发送消息,而另一个窗口可以使用 window.addEventListener () 方法监听该消息。
-
使用 Ajax 请求:可以使用 Ajax 请求将数据发送到另一个系统,另一个系统可以解析请求并获取数据。
分别举例子
以下是几个简单的例子:
- 使用 URL 参数:
在 A 系统中,将数据作为 URL 参数传递给 B 系统:
var data = 'hello';
window.location.href = 'http://example.com/?data=' + data;
在 B 系统中,解析 URL 参数并获取数据:
var urlParams = new URLSearchParams(window.location.search);
var data = urlParams.get('data');
console.log(data); // 输出 hello
2.使用 Cookie:
在 A 系统中,设置 Cookie:
var data = 'hello';
document.cookie = 'data=' + data;
在 B 系统中,读取该 Cookie 并获取数据:、
var data = document.cookie
.split('; ')
.find(row => row.startsWith('data='))
.split('=')[1];
console.log(data); // 输出 hello
3. 使用 LocalStorage:
在 A 系统中,将数据存储在 LocalStorage 中:
var data = 'hello';
localStorage.setItem('data', data);
在 B 系统中,读取 LocalStorage 中的数据
var data = localStorage.getItem('data');
console.log(data); // 输出 hello
4. 使用 PostMessage API :
var data = 'hello';
window.parent.postMessage(data, '*');
在 B 系统中,监听消息:
window.addEventListener('message', function(event) {
var data = event.data;
console.log(data); // 输出 hello
});
5. 使用 Ajax 请求:
在 A 系统中,使用 Ajax 请求将数据发送到 B 系统:
var data = 'hello';
var xhr = new XMLHttpRequest();
xhr.open('POST', 'http://example.com');
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.send(JSON.stringify({data: data}));
在 B 系统中,解析请求并获取数据:
app.post('/', function(req, res) {
var data = req.body.data;
console.log(data); // 输出 hello
res.sendStatus(200);
});