Maison  >  Article  >  développement back-end  >  js里写php代码

js里写php代码

WBOY
WBOYoriginal
2016-06-23 13:22:561350parcourir

common.jsfunction goUrl(lang){...//   $_SESSION['language']=lang   这句代码在js里要怎么写?...}


回复讨论(解决方案)

js和php的交互最好用ajax来完成

一般是php里嵌js,哪里是js里写php呀,要服务器支持的。

function goUrl(lang){
...

...
}

js里要跟PHP关联,一般都是要用到AJAX请求,如果是在JS加载时就得到(取)session的值,可以在js 代码块里写  如果是想在加载页面时设置session,这个跟js就没关系了,可以直接

main.inc.php<?php...$language = 'tc';if (isset($_G['lang']) && in_array($_G['lang'], array('tc', 'sc'))) {    $language = $_G['lang'];    $_SESSION['language'] = $language;} else if (isset($_SESSION['language']) && !empty($_SESSION['language'])) {    $language = $_SESSION['language'];} else {    $_SESSION['language'] = $language;}...?>index.php<?phprequire_once dirname(__FILE__) . '/includes/main.inc.php';    $tpl->display('index.html');?>index.html[code=php]<html>    <head>        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />        <script type="text/javascript" src="js/common.js"></script>    </head>    <title></title>    <body>        <li>            <a class="lang_tc" onclick="goUrl('tc')" href="javascript:;">繁</a>        </li>        <li>            <a class="lang_sc" onclick="goUrl('sc')" href="javascript:;">简</a>        </li>        <li>            <a href="a.php">New</a>        </li>        繁,繁,繁,繁,繁    </body></html>common.jsfunction goUrl(lang){    var url = document.location.href;    var query = window.location.search.substring(1);    var urls = url.replace(window.location.hash, '').split("?");    var vars = query.split("&");    var query = "";    for (var i=0;i<vars.length;i++) {        var pair = vars[i].split("=");        if (pair[0] != "lang" && pair[0] != "") {            query = query + pair[0] + "=" + pair[1] + "&";        }    }    query = query + "lang=" + lang;    location.href = urls[0]+"?"+query+window.location.hash;}

点击  index.html  “繁” 切换语言  ()
我在调用 goUrl() 的同时改变  $_SESSION['language'] 
所以我就想在js里添加php代码,如果像下面那样又会报错,求解决方法
function goUrl(lang){
...

...

1、session 变量存储于服务端,客户端不能主动修改
2、你在 goUrl() 中有 location.href = urls[0]+"?"+query+window.location.hash; 跳转
所以你应在 urls[0] 指向的程序文件中做 session 变量设置

1、session 变量存储于服务端,客户端不能主动修改
2、你在 goUrl() 中有 location.href = urls[0]+"?"+query+window.location.hash; 跳转
所以你应在 urls[0] 指向的程序文件中做 session 变量设置



跳转后也是到index.php ->index.html   执行的goUrl()时在原本的链接上添加  ?lang=XX 来改变语言

function goUrl(lang){
    var url = document.location.href;
    var query = window.location.search.substring(1);
    var urls = url.replace(window.location.hash, '').split("?");
    var vars = query.split("&");
    var query = "";
    for (var i=0;i        var pair = vars[i].split("=");
        if (pair[0] != "lang" && pair[0] != "") {
            query = query + pair[0] + "=" + pair[1] + "&";
        }
    }
    query = query + "lang=" + lang;
    location.href = urls[0]+"?"+query+window.location.hash;
}
我想创建goUrl.php 来代替上面 在php里怎么实现这段js的功能

改变语言后,页面需要刷新,你原来的写法并不需要改变
你的 goUrl.php 总还是要像  index.php 那样输出页面内容的。不显得累赘吗?

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn