我有一个像这样的链接列表:
<li><a href="landing.php?products=IPCamera&id=1">IP Camera 1</a></li>
<li><a href="landing.php?products=IPCamera&id=2">IP Camera 2</a></li>
<li><a href="landing.php?products=CCTVCamera&id=1">CCTV 1</a></li>
以及以下示例php代码:
// PRODUCTS AND ID IS DYNAMICALLY PRODUCE FROM PHP QUERY
$sql = "SELECT * FROM tablename";
$result = mysql_query($sql); //
foreach($result as $field) {
$listlink = "landing.php?products=".$field[products]."&id"=$field[id];
$output = "<li><a href=\"$listlink\">".$field[menuname]."</a></li>";
}
echo $output; // THIS IS THE RESULT OF LIST OF LINK ABOVE
我的问题是如何使products和id的值成为一个javascript变量并将其传递给jquery ajax来调用php处理器。
感谢
答案 0 :(得分:1)
您可以使用数据属性并使用jQuery.data()函数通过jquery访问它们。
$sql = "SELECT * FROM tablename";
$result = mysql_query($sql); //
foreach($result as $field) {
$listlink = "landing.php?products=".$field[products]."&id"=$field[id];
$output = "<li><a data-products=\"$field[products]\" data-id=\"$field[id]\" href=\"$listlink\">".$field[menuname]."</a></li>";
}
js部分将是这样的
$("a").click(function() {
var id = $(this).data('id');
var products = $(this).data('products');
var url = $(this).attr('href');
// your ajax request goes here
});
答案 1 :(得分:0)
使用location.search
获取当前位置的查询部分,然后提取要使用的字段。
希望有所帮助。
答案 2 :(得分:0)
如果您正在讨论根据网址中的products.php
和products
在此id
页面上运行的代码:
<script type="text/javascript">
var params = {}, queryString = location.search.substring(1),
re = /([^&=]+)=([^&]*)/g, m;
while (m = re.exec(queryString)) {
params[decodeURIComponent(m[1])] = decodeURIComponent(m[2]);
}
//now params is an object containing all the query string parameters from the URL
do_your_ajax_thing(params[id], params[products]);
</script>
答案 3 :(得分:0)
您可以将所有产品值列放在PHP中的行中,然后使用json_encode()将编码的json编码发送到javascript。 只是一个如何做到这一点的例子。
<html>
<head>
<script type="text/javascript">
var productValueArray = <?php
$outputArray = array();
$sql = "SELECT * FROM tablename";
$result = mysql_query($sql); //
foreach($result as $field) {
array_push($outputArray, $field[menuname]);
}
echo json_encode($outputArray);
?>
</script>
</head>
<body>
</body>
</html>
答案 4 :(得分:0)
var urlArgs = location.search,
products = urlArgs.substring(urlArgs.indexOf("=") + 1, urlArgs.indexOf("&")),
并且对于id也可以使用substring()或split()方法并执行字符串操作。