[英]How to insert every value of an array into a js-function when the page load?
[英]How should I load a js-function based on parameter in url?
* 处理此问题的正确方法是什么? *
我想做什么:假设我有一个类似的网址:
http://www.domain.com/parties/
此链接显示所有各方。 每一方都是可单击的,如果用户单击其中之一(ID为54),则此页面将显示:
http://www.domain.com/party/54
将显示特定方54的页面。
当我致电http://www.domain.com/party{id}
,我会包含一个javascript文件。 在这个js文件( party.js
)中,我有一个函数loadParty(party_id)
。
我想加载特定的js函数,以在调用http://www.domain.com/party/54
时加载实际的聚会(54)(我必须为此使用javascript(我必须获取有关屏幕分辨率的信息) )。
我应该怎么办?
<?php echo $get['id'];>;
使用ajax调用php,该php返回$_GET['id']
(并将其放入party_id-js-变量中)?
然后调用loadParty(party_id);
还有其他想法吗?
(如果重要,我正在使用jQuery / CodeIgniter(我认为没有))
UPDATE
我只是在做<?php echo $get['id'];>;
只是为了展示我想要的原理。 我保证,我永远不会那样做! :-)
更相关的代码将类似于
<?php
if (isset($_GET['id'])) {
$id = intval($_GET['id']);
$party = new Party();
$party_id = $party->doPartyExists($id); //Returns 0 at false
if (intval($party_id) === 0) {
throw new Exception('this is not a party');
}
}
?>
然后将$party_id
放入js ...
首先这样做-
<?php
$id = $_REQUEST['id'];
?>
然后像这样调用函数
loadParty('<?php echo $id ?>');
无需ajax调用。 顺便说一句,您可以在命中URL时将两个代码段写在您加载的同一个文件中。
@notsobestprogrammerintheword :)
您的方法很好,但是我担心$ _GET中的键:它可能不是'id',而是'party',但取决于路由配置。 并将值从$ _GET强制转换为INT:使您的站点不受XSS攻击!
var party_id = '<?php echo isset($_GET["id"]) ? (INT) $_GET["id"]: 0;>';
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.