我正在尝试为我们正在使用的一组应用程序加载共享标头。目前我可以提取HTML文件甚至执行javascript。
$("#header-container")
.load("http://component.balanceinnovations.dev/header.html header", function () {
$.getScript("http://component.balanceinnovations.dev/js/header.js");
});
这很好用,但我想传递header.js参数。所以我正在尝试这个
$("#header-container")
.load("http://component.balanceinnovations.dev/header.html header", function () {
$.get("http://component.balanceinnovations.dev/js/header.js", { cityID: '4274356' }, undefined, 'script');
});
在header.js
中如何引用此参数?如果它甚至可能。
答案 0 :(得分:0)
通过使用$ .get(url,success),您要求从服务器加载JavaScript文件。您无法在脚本中传递参数。
你可以这样做。
var cityID = 4274356;
$("#headercontainer").load("http://component.balanceinnovations.dev/header.html header", function () {
$.getScript( "http://component.balanceinnovations.dev/js/header.js", function( data ) {
//once download was performed then here you can pass your parameters into header.js.
});
});
编辑:
如果使用IIFE,您可以在加载header.js
之前定义一个全局变量,并在下面更改您的函数。
(function(cityID) {
// cityID == 4274356'
})(cityID);
答案 1 :(得分:-1)
似乎有可能。根据{{3}},$ .getScript函数"是一个简写的Ajax函数,相当于......" (参见下面的$ .ajax代码)。您必须使用jQuery's website函数将数据传递到服务器。通过将$.ajax中的数据属性添加到Ajax page上的$ .ajax示例,它应该看起来像这样......
$.ajax({
url: "http://component.balanceinnovations.dev/header.html",
data: { cityID: '4274356' },
dataType: "script",
success: successFn
});
function successFn(data) {
$("#header-container").html(data);
}