将Javascript从PHP变量保存到文件

Save Javascript to File from PHP Variable

本文关键字:存到文件 变量 PHP Javascript      更新时间:2023-09-26

在Javascript中,我有一个从PHP GET变量创建哈希的函数。例如

<script type="text/javascript">
function getHash{
    ...
}
var answer = "<?php echo $_GET["answerswer"];?>";
document.write(getHash(answer));
</script>

现在,这是将哈希输出到页面。有没有办法将此哈希保存到服务器上的文件中?

你可以使用 ajax 请求来做到这一点。如果您不使用 JQuery,下面附上了我发送 ajax 请求的代码:

function getRequestObject(){
    var o = null;
    if(window.XMLHttpRequest){
        o = new XMLHttpRequest();
    }else if(window.ActiveXObject){
        try{
            o = new ActiveXObject('Msxml2.XMLHTTP');
        }catch(e1){
            try{
                o = new ActiveXObject('Microsoft.XMLHTTP');
            }catch(e2){
            }
        }
    }
    return o;
}
function request(method, adress,sendData,callback){
    var o = getRequestObject();
    var async = (callback!==null);
    if(method === 'GET'){
        if(sendData!=null){adress+="?"+sendData;}
        o.open(method, adress, async);
        o.send(null);
    }else if(method === 'POST'){
        o.open(method, adress, async);
        o.setRequestHeader('Content-Type' , 'application/x-www-form-urlencoded');
        o.send(sendData);
    }
    if(async){
        o.onreadystatechange = function (){
            if(o.readyState==4&&o.status==200){
                callback(o.responseText);
            }else if(o.readyState==4&&o.status!=200){
                //Error
            }
        };
    }
    if(async){return ;}
    else{return o.responseText;}
}

只有当函数getHash使用可变用户输入时,您尝试执行的操作才有意义。如果不是这种情况,并且计算哈希的所有信息都可以在服务器上使用,则应直接在服务器上计算哈希。还要注意,用户可以操纵哈希值(如果它是由javascript发送的,而不是在服务器上计算的)。

您也可以将哈希保存在服务器上的会话变量中。