单击<后重新加载页面;a>从PHP获取新数据
Reload page after click on <a> to get new data from PHP
我正在编写一个多语言web,逻辑如下:
- 默认情况下,有一个默认数据为"eng"的"lang.tmp"文件
-
当index.php加载时,它从"lang.tmp"获取数据,并设置从lang.php加载数据的默认语言:
include("lang/".file_get_contents("lang.tmp").".php");
-
如果用户想更改语言,他点击用php创建的链接,该链接会重写"lang.tmp"中的数据:
include("lang/languages.php"); $i=0; while (list($key, $value) = each($languages)) { echo '<li class="lang"><a href="index.php?'.$key.'"><div id="langBox">'.$value.'</div></a></li>'; if ($_SERVER['QUERY_STRING'] == $key) { $fp=fopen("lang.tmp","w"); fwrite($fp,basename($key)); fclose($fp); }
所以!问题是:在重写"lang.tmp"文件后,我需要用相同的"index.php"地址重新加载页面,以获得新类型的语言。
-
我试过
header("Location: index.php");
显然它不起作用,因为URL是一样的,所以我得到了错误:
Warning: Cannot modify header information - headers already sent.
我还尝试了JavaScript:
$("div #langMenu").click(function() { location.reload(); console.log ("Clicked!"); });
但它也不起作用。页面只有在第二次点击链接后才重新加载新语言,但这不是每个人都需要的)
你能不能把我错的地方链接起来,或者在这种情况下还有什么其他选项可以重新加载页面。
header
重定向应该工作,该错误意味着文本具有已显示(只有当页面加载,而不是在发送内容之后)- 这种逻辑是有缺陷的,因为一个用户就会改变语言整个网站
- 为什么不首先将
<a>
作为页面的链接呢
像一样尝试
$("div #langBox").on('click',function() {
location.reload('true'); //Or window.location.href = window.location.href
console.log ("Clicked!");
});
相关文章:
- Typescript angularjs$http获取响应类型(避免使用<any>)
- 正在获取<td>
- 如何使用Javascript获取当前页面URL,并在<a href="[the_URL]”>
- React路由器<link>如何在Jest测试中获取href的值
- 获取<a>href使用jQuery
- 用于获取<输入类型=文件>只返回firefox中的文件名
- 有没有一种方法可以在泛型(<T>)函数/类(Typescript)中获取泛型类型的名称
- 获取<李>标记到TextField
- <JSP>正在获取复选框的值
- 如何获取Mocha#<测试>type对象
- 获取<img>src,并通过class设置为变量(id不可用)
- SVG<g>标记获取其<标题>contentJS/jQuery
- 获取<部分>标记,包括html标记,并将其存储在变量中
- 获取<a>标记从一个函数到另一个函数
- 无法获取<李>身份证件
- 正在获取父<tr>在struts2 jsp页面中使用jquery的表的索引值
- 如何获取点击<a>标签
- 如何获取所选图像's[多重/全部]值,该值被置于<李>
- 如何在一个索引不等于2的ul中获取li,我知道如何获得索引gt或lt 2
- 获取响应<选择>并以<选择>