gpt4 book ai didi

javascript - 在一个脚本中创建变量并在另一脚本中使用。 jQuery/HTML/JS

转载 作者:行者123 更新时间:2023-12-03 03:32:49 24 4
gpt4 key购买 nike

如何将脚本 1姓名、电子邮件、团队的结果转换为可以在脚本 2 中使用的变量?

我正在进行 API 调用来获取一些 JSON,然后我想使用某些值作为消息中的文本,然后发送到 slack。

示例。

$('.Name').html(data.user.name); // Returns John
$('.Email').html(data.user.email); // Returns John@John.com
$('.Teams').html(data.user.teams[0].name); // Returns JohnsTeam

var text = 'Hello my name is $Name + my email is $Email + From $Teams'

输出 = 你好,我的名字是 John,我的电子邮件是来自 JohnsTeam 的 John@John.com

脚本 1

function currentUrl() {
return new Promise(function (resolve) {
chrome.tabs.query({
active: true,
currentWindow: true
}, function(tabs) {
resolve(tabs[0].url)
})
})
}

function userIdfromUrl(url) {
var parts = url.split('/')
return parts[parts.length - 1]
}
var authorizationToken = "xxxxxxxxxxxxxxxxxxxxxxxxx";
function myapiRequest(endpoint, options) {
$.ajax($.extend({}, {
type: 'GET',
dataType: "json",
success: function(data) {
$('.Name').html(data.user.name);
$('.Email').html(data.user.email);
$('.Teams').html(data.user.teams[0].name);
},

url: "https://api.myapi.com/" + endpoint,
headers: {
"Authorization": "Token token=" + authorizationToken,
"Accept": "application/vnd.myapi+json;version=2"
}
},
options));
}
currentUrl()
.then(function (url) {
return userIdfromUrl(url)
})
.then(function (userId) {
return myapiRequest('users/' + userId + '?include%5B%5D=contact_methods&include%5B%5D=teams')
})
.then(function (data) {
console.log(data.user.name)
console.log(data.user.email)
console.log(data.user.teams[0].name)
})

脚本 2

$(document).ready(function(){
$('#contact-submit').on('click',function(e){
e.preventDefault();
var url = 'https://hooks.slack.com/services/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
var text = 'This is a message'
$.ajax({
data: 'payload=' + JSON.stringify({
"text": text // What I want to dynamically change
}),
dataType: 'json',
processData: false,
type: 'POST',
url: url
});
});
});

最佳答案

一个很好的解决方案是设置从 HTML5 localstorage 中的响应获取的变量,如下所示:

  • 成功的秘诀:
success: function(data) {
localStorage.setItem("urdata",JSON.stringify(data));
}
  • 在另一个脚本中,您可以像这样检索数据:

var data = localStorage.getItem("urdata"); data = JSON.parse(data);

关于javascript - 在一个脚本中创建变量并在另一脚本中使用。 jQuery/HTML/JS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46009825/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com