2016-11-09 56 views
-1

我想将数据传递给js文件。然而不能得到是工作。

js='article.js'; 

function loadjs(js){ 
$.get(js,{ name: "test" }); 
} 

article.js

alert(name); 

如果我做警报( '试验');我从文件得到一个响应,所以我知道它的工作原理。 也不能使用全局变量。

有没有简单的方法将数据发送到文件并显示它?

编辑澄清 (是的,我可以用angelar,但我不)

的Onload它会触发“pagina”的所有短的变量。 (它的动态)。 加载所有'php/html'文件。 ,你会得到你可以在链接中看到的内容。 example

hoverever当我点击一行我想要的功能pagina();加载行的内容到目前为止非常好。但是要显示我想要的数据。我想发送一个ID到JS文件并在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

为什么文件没有作为第一次加载导入? –

+0

有一个原因。 – Nevtu

回答

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 
} 

在上面你已经effectivelly发送的数据所用任何一种方式你的脚本/端点,你可以进一步处理它。

虽然你loadjs功能只需发送一个请求,不处理的响应,你可以做一个回调函数以下的$.get

$.get(js, { name: "test" }, function(data) { 
    alert(data); // you will alert the data from the JSON response 
}); 

可悲的是,你还没有描述了你的实际需要这是迄今为止我能帮助你的。