如何在此延遲函數中使用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想要做更簡單的事情,爲此可能有一個更簡單的解決方案。 –