XMLHttpRequest动态回调函数名称

时间:2019-05-10 19:21:27

标签: javascript ajax callback

我有一个带有功能回调的XMLHttpRequest,我想使其唯一。

var i = "https://itunes.apple.com/search?type=jsonp&term==" + encodeURI(artist) + "-" + encodeURI(song) + "&media=music&limit=1&callback=" + instanceName + "parseImage";
            try {
                document.documentElement.removeChild(scr_tag)
            } catch (t) {}
            try {
                scr_tag = document.createElement("script"), scr_tag.src = i, document.documentElement.appendChild(scr_tag)
            } catch (t) {}

来自https://affiliate.itunes.apple.com/resources/documentation/itunes-store-web-service-search-api/

注意:在为网站创建搜索字段和脚本时,应为xmlhttp脚本调用请求使用动态脚本标签。例如:

<script src="https://.../search?parameterkeyvalue&callback="{name of JavaScript function in webpage}"/>

如何构造动态回调函数名称,这种情况下为instanceName(变量)+“ parseImage”?

1 个答案:

答案 0 :(得分:-2)

如果我没看错,您正在询问如何生成用于回调的唯一函数。您可以使用括号表示法。

window[instanceName + "parseImage"] = function (json) {
  console.log(json)
  // remove it when done
  delete window[instanceName + "parseImage"]
}