无法通过传递的参数调用JS函数
我已经通过onclick事件将实际参数从php文件传递给div,它在页面上呈现,功能本身存在,但是参数没有传递给函数调用
形式参数保留在函数定义中,不会被传递给onclick事件的内容替代
http://localhost:8000/sknt1.php?reqStr
代码本身如下所示:
for ($i=0; $i<count($json_a["tarifs"]) ; $i++) {
echo "<div onclick='fun(".$i.")' class='column' style='font-size:20px; width:100%'>
在页面上看起来像这样(0到4):
<div onclick="fun(0)" class="column" style="font-size:20px; width:100%">
<div onclick="fun(1)" class="column" style="font-size:20px; width:100%">
以此类推。
fun()是一个AJAX调用函数,它被写入页面一次,我无法将其嵌入到php中进行循环:
<script type='text/javascript'>
function fun(reqStr) {
var xmlhttp = null;
function AjaxRequest(url){
if(xmlhttp != null){
if(xmlhttp.abort)
xmlhttp.abort();
xmlhttp = null;
};
if(window.XMLHttpRequest) // good browsers
xmlhttp=new XMLHttpRequest();
else if(window.ActiveXObject) // IE
xmlhttp=new ActiveXObject('Microsoft.XMLHTTP');
if(xmlhttp == null)
return null;
xmlhttp.open('GET',url,false);
xmlhttp.send(null);
if(xmlhttp.status >= 200 && xmlhttp.status < 300)// 2xx is good enough
return xmlhttp.responseText;
else
return null;
}
window.history.replaceState({}, '',`/sknt1.php?reqStr`);
var url = '/sknt1.php?reqStr';
var contents = AjaxRequest(url);
if(contents){
document.documentElement.innerHTML = contents;}
}
</script>
我希望此Ajax调用替换传入的变量并将url替换为smth。像http://localhost:8000/sknt1.php?0一样,还有一个额外的php文件,它将在处理历史记录后呈现新页面,请帮助
答案 0 :(得分:0)
只需在for循环中创建一个变量,即$ iStr ='“'。$ i。' “”并传递新变量。
答案 1 :(得分:0)
这是一个菜鸟问题。显然,我应该有串联的参数[0],而不是直接传递它。
不是这个/sknt1.php?reqStr
,而是这个/sknt1.php?
+ reqStr