如何在此延迟函数中使用myValue以便定义myQuery?传递变量以推迟JSON函数?
$.getJSON('lorem.json', function (data) {
var myKey = $("input").val();
var myValue = data[myKey];
}).then(function() {
var myQuery = "http://example.com?q=" + myValue ;
$.getJSON(myQuery, function (info) {
console.log(info);
...
尝试全球IT,而不是'无功myvalue的数据= [的myKey]'用'window.myValue =数据[的myKey]'然后用它与你'myQuery'像'VAR更改为MyQuery = “http://example.com?q=” + window.myValue;' – MaveRick
你就不能使用一个回调函数?为什么你需要将功能分成两部分? –
@MaveRick全局变量是矫枉过正,如果在另一个脚本文件中的一些时候你要使用相同的全局变量用于不同的目的,只会导致问题。您可以将'myValue'移动到'$ .getJSON' *调用*的包含范围内,这将使这两个回调函数都可以访问它。如果包含范围不是全局范围,而是另一个函数范围,则它不会污染全局范围,也不会导致命名冲突。无论哪种方式,看起来好像OP想要做更简单的事情,为此可能有一个更简单的解决方案。 –