这当然只是一个模型,但你会得到一个想法。
这是第一个电话:
function getData () {
$.ajax{(
type:'GET',
url: url,
success: function (res) {
// logic
// 'res.secret' property value that needs to be passed
}
)}
}
现在,这会获得一组数据,我需要稍后使用POST
方法进行另一次调用。我们称之为res.secret
。
所以,接下来的电话:
function postData () {
$.ajax{(
type:'POST',
url: url + res.secret,
success: function (res) {
//logic
}
)}
}
在res.secret
属性中将postData()
传递给url
的最佳方式是什么?我可以将其保存为html data-*
,但不要认为这是最好的方法。
另请注意,postData()
和getData()
位于不同的.js
个文件中。
答案 0 :(得分:1)
function getData () {
$.ajax{(
type:'GET',
url: url,
success: function (res) {
postData(res.secret);
}
)}
}
function postData (theSecret) {
$.ajax{(
type:'POST',
url: url + theSecret,
success: function (res) {
//logic
}
)}
}
这导致顺序和条件执行。
答案 1 :(得分:0)
这是使用承诺的理想案例。以下是我在ES6中使用async / await
的方法(async () => {
// result1 awaits for GET request to be resolved
var result1 = await fetch(url);
// then you pass your 'secret' from result1 to your next POST call
var result2 = await fetch(`${url}${result1.secret}`, {method: 'post'});
})();;