Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用ajax包含不同的文件_Php_Jquery_Ajax - Fatal编程技术网

Php 使用ajax包含不同的文件

Php 使用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.

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.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";
    }