最初に、私は非常に新しいnoobです。以下のコードは、 "if-else"部分の "if"部分を除いて動作します。アラートされる「searchTerm」は、ユーザーが複数の値を持つ入力フィールドに最後に入力した値です。したがって、ユーザが「a、b、c、d」および「a」(または他の任意の値)を入力して=== 0基準を満たす場合、「d」は警告されるものである。
私はここでstackoverflowで調査し、他の分野でGoogleのコールバックと約束について学びました。そして、.getJSONはJSON以外の非同期で可視性がありますが、明らかに私はそれを得ていないと私は確信しています私は何か簡単なものを欠いている。どんな洞察力/助けも大いに感謝されます。
for (var l = 0; l < searchTermArray.length; l++) {
searchTerm = searchTermArray[l];
searchURL = buildURL(searchTerm);
getResults(searchURL, searchTerm);
function getResults() {
$.getJSON(searchURL, function (responses) {
presentResults(responses, searchTerm);
});
}
function presentResults(responses, searchTerm) {
response = responses.search;
if (responses.search.return.count === 0) {
alert(searchTerm + " Not Found");
} else {
alert("Results found");
****Do other stuff with the results****
}
}
}
何が問題ですか?私はあなたの問題を理解していないのですか?もし動作していれば、それ以外は? – Volem
@ Vololeの問題は、if文内の "searchTerm"に警告するときに値が=== 0の基準を満たしていないことです。むしろ、警告された値は入力された値の最後の値です。したがって、4つの値が入力され、2番目の値=== 0の場合は、最後の値が警告されます。したがって、ifで正しく入りますが、searchTermの値が正しくありません。 – Tom
ご説明いただきありがとうございます – Volem