gpt4 book ai didi

javascript - MeteorJS 调用rest api 服务器端

转载 作者:太空宇宙 更新时间:2023-11-04 15:29:55 25 4
gpt4 key购买 nike

现在我调用rest API:

Template.accedi.events({
'submit #form-login'(e) {
e.preventDefault();
var data = {
'username': $("[name=login_username]").val(),
'password': $("[name=login_password]").val()
};
var url = api_url + "/Token";

HTTP.call('POST', url, {
params: {
'grant_type': 'password',
'username': data.username,
'password': data.password
}
}, (error, result) => {
if (!error) {
Session.set('userData', JSON.stringify(result.data));
localStorage.setItem('userData', JSON.stringify(result.data))
Router.go('/');
}
}
}
})

这个调用rest api客户端。我需要调用api服务器端...有方法吗?

最佳答案

您应该创建然后从客户端代码调用的方法。下面的内容应该适用于您的情况。

方法必须在客户端和服务器上加载的代码中定义。

Meteor.methods({
'login.token'({ username, password }) {
try {
let request = HTTP.call('POST', 'https://example.com', {
params: {
'grant_type': 'password',
'username': username,
'password': password
}
})

// You might want to process, validate etc. request response before return it to the client.
return request
} catch (err) {
throw new Meteor.Error(500, 'There was an error processing your request')
}
}
})

您的客户端代码可能看起来与此类似

Template.accedi.events({
'submit #form-login'(e) {
e.preventDefault();
var data = {
'username': $("[name=login_username]").val(),
'password': $("[name=login_password]").val()
};

Meteor.call('login.token', {
username: data.username,
password: data.password
}, (err, res) => {
if (err) {
console.log(err)
} else {
Session.set('userData', JSON.stringify(res.data));
localStorage.setItem('userData', JSON.stringify(res.data))
Router.go('/');
}
})
}
})

您可以在本页 https://guide.meteor.com/methods.html 找到有关 Meteor 指南中方法的更多信息

关于javascript - MeteorJS 调用rest api 服务器端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44882605/

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