我想将数据传递给js文件。但是不能得到工作。
js='article.js';
function loadjs(js){
$.get(js,{ name: "test" });
}
article.js
alert(name);
如果我发出警报(' test');我收到了文件的回复,所以我知道它有效。 也不能使用全局变量。
有一种简单的方法可以将数据发送到文件并显示它吗?
编辑澄清 (是的,我可以使用angelar,但我不会)
上传它会触发' pagina'缺少变量。 (它的动态)。 所有的' php / html'文件已加载。 你会得到你在链接中看到的东西。 example
当我点击一行时我想要功能pagina();到目前为止加载行的内容是如此的好。但要显示我想要的数据。我想向JS文件发送一个ID,并在JS文件中使用$ .post(php)来获取数据json。如果我在$ .post id = 1中直接设置了ID,那就可以了。
所以不要让它更加混乱。我想将一个id发送到js文件JS $ .get或$ .getScript。
function pagina(menu,frame,vars,crum,js,togglezoeken,voorwaarden){
'use strict';
if(!menu){$('#frame').show();}
if(menu){
$('#loader-zoeken').hide();
$('#loader-bijwerken').hide();
$('#loader-pagina').show();
$('#menu').hide();
$('#frame').empty();
$('#menu').load(menu+vars,{noncache: new Date().getTime()}, function() {$('#menu').foundation();});}
if(crum==1){$('#breadcrumbs').load('/opbouw/frames/breadcrumbs.php?'+vars,{noncache: new Date().getTime()}, function() {});}
$('#frame').load(frame+vars+'&crum='+crum,{noncache: new Date().getTime()}, function() {
if(togglezoeken){$('#uitgebreidzoeken').toggle();}
if(crum==1){$('#breadcrumbs').show();}else{$('#breadcrumbs').hide();}
if(js){
$.get( js,{ name: "test" });
}
else{
$('#loader-pagina').hide();
$('#menu').show();
$('#frame').show();
}
//if(voorwaarden==1){popup('/opbouw/frames/voorwaarden.php','','/opbouw/js/voorwaarden.js');}
$('#frame').foundation();
});
}
答案 0 :(得分:1)
你不能这样做。 $.get
用于AJAX / HTTP(s)请求,您的文件以这种方式不会接受发送给它的数据。
要实现此目的,您必须在article.js
上使用服务器端端点。
让我们说:
function loadjs( js ) {
$.get(js, { name: "test" });
}
你打电话给loadjs
功能:
loadjs('article.js');
在您的服务器上,您必须有一个服务器端端点指向请求:/article.js
:
您可以使用PHP或express
来实现node.js:
router.get('article.js', function(req, res, next) {
res.json( req.query.data );
});
或者在PHP中(请注意,在Apache中,您必须使用mod_rewrite
并使用.htaccess
或在虚拟主机配置中启用它:
$req = $_SERVER['REQUEST_URI'];
if($req == 'article.js') {
echo json_encode(array('data' => $_GET['data']));
exit(0); // end the script here
}
从上面使用的任何一种方式,您都可以有效地将数据发送到您的脚本/端点,然后您可以进一步处理它。
虽然您的loadjs
函数只发送请求并且没有处理响应,但您可以使用$.get
中的回调函数执行以下操作:
$.get(js, { name: "test" }, function(data) {
alert(data); // you will alert the data from the JSON response
});
可悲的是,你还没有描述你真正需要的东西,到目前为止,这是我可以帮助你的。