Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.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
Javascript 使用jqueryajax,选中is后,更改网站语言_Javascript_Php_Jquery_Checkbox - Fatal编程技术网

Javascript 使用jqueryajax,选中is后,更改网站语言

Javascript 使用jqueryajax,选中is后,更改网站语言,javascript,php,jquery,checkbox,Javascript,Php,Jquery,Checkbox,我有一个类似ios的复选框,使用我想更改网站语言的状态。我使用以下代码: langchange.js $(document).ready(function(){ $("#langfct").change(function() { if($(this).is(":checked")) { $.ajax({ url: 'langfunc.php', type: 'POST',

我有一个类似ios的复选框,使用我想更改网站语言的状态。我使用以下代码: langchange.js

$(document).ready(function(){
    $("#langfct").change(function() { 
        if($(this).is(":checked")) { 
            $.ajax({
                url: 'langfunc.php',
                type: 'POST',
                data: { langstate: "fr" }
            });
            alert('fr');
            window.location.reload();
        } else {
            $.ajax({
                url: 'langfunc.php',
                type: 'POST',
                data: { langstate: "en" }
            });
            alert('en');
            window.location.reload();
        }
    }); 
});
langfunc.php

    <?php
    session_start ();
    $valang = $_POST['langstate'];
    $lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
    if ($valang == fr){
        include("french.php");
    }elseif ($valang == en) {
        include("english.php");
    } else{

    switch ($lang){
        case "fr":
            //echo "PAGE FR";
            include("french.php");//include check session FR
            break;
        case "en":
            //echo "PAGE EN";
            include("english.php");
            break;        
        default:
            //echo "PAGE EN - Setting Default";
            include("english.php");//include EN in all other cases of different lang detection
            break;
    }
    }
    ?>


如何使用复选框的状态,保存状态并重新加载数据?Thx

按如下方式重新构造代码。问题是,在ajax完成之前,您正在重新加载页面,并且可能由于阻塞警报,ajax甚至无法发送

var lang = 'en'; //default
if($(this).is(":checked")) { 
    lang = 'fr';    
}

$.ajax({
     url: 'langfunc.php',
     type: 'POST',
     data: { langstate: lang },
     success: function() {
        alert(lang);
        window.location.reload();
     }
});