Php 使用ajax包含不同的文件
params.phpPhp 使用ajax包含不同的文件,php,jquery,ajax,Php,Jquery,Ajax,params.php $(".lang").click(function() { var lang = $(this).html(); alert (lang); $.ajax({ type: "POST", dataType: "json", url: "params.php", data: {lang:lang} }); window.location.href = window.
$(".lang").click(function() {
var lang = $(this).html();
alert (lang);
$.ajax({
type: "POST",
dataType: "json",
url: "params.php",
data: {lang:lang}
});
window.location.href = window.location.href;
});
index.php
if (isset($_POST["lang"]) && $_POST["lang"] == "EN") {
$lang = "EN";
}
elseif (isset($_POST["lang"]) && $_POST["lang"] == "YU"){
$lang = "YU";
}
else {
$lang = "EN";
}
因此,当我单击包含
YU
的.lang
按钮时,我希望重新加载页面(它可以工作),并包含modals\u YU.php
而不是modals.php
。这不管用modals.php始终包含在内。它不起作用,因为您正在发出AJAX请求,然后重新加载页面。这是两个不同的要求。POST数据仅与第一个一起发送
还有许多其他选择:
- 设置window.location.href时使用
(例如
index.php?lang=EN
)
- 在页面上使用隐藏的post表单,并通过jQuery使用该表单
- 在发布帖子时使用PHP设置
在页面刷新中,您的$\u POST
值丢失。您可以使用$\u SESSION
变量,使其仍然可用
if (isset($_POST["lang"]) && $_POST["lang"] == "EN") {
$lang = "EN";
}
elseif (isset($_POST["lang"]) && $_POST["lang"] == "YU"){
$lang = "YU";
}
else {
$lang = "EN";
}
include "params.php";
if ($lang == "EN") {
include "inc/modals.php";
}
else {
include "inc/modals_yu.php";
}