将数据从javascript变量传递到PHP变量

时间:2019-11-24 14:20:01

标签: javascript php laravel

我使用JavaScript提出了Ajax请求。我将结果放在一个名为“ response”的变量中。 我想将'response'变量用作PHP变量“ $ response”。 我该怎么办?

<html>
<head>
 <script src="{{asset("jquery/jquery.js")}}"></script>
</head>

<body>
<h1>AJAX</h1>
<div id="id01"> {{$response}}</div>

<script type="text/javascript">
 var req = new XMLHttpRequest();
 req.open("GET","{{route('allcontacts')}}",true);
 req.onload  = function() {
    if (req.readyState == 4 && req.status == 200) {
        response = JSON.parse(req.responseText);
        $("id01").html(response);
    }
};
req.send();
</script>

</body>
</html>

2 个答案:

答案 0 :(得分:1)

您可以在服务器端使用Javascript。

<script type="text/javascript">
var res = '';
var req = new XMLHttpRequest();
 req.open("GET","{{route('allcontacts')}}",true);
 req.onload  = function() {
    if (req.readyState == 4 && req.status == 200) {
        res= JSON.parse(req.responseText);
        <?php $res = "<script>document.write(res)</script>"?>  
    }
};
req.send();
</script>
<div id="id01"> <?php echo $res;?> </div>

答案 1 :(得分:1)

您将需要使用POST或GET请求将变量发送到PHP。

最简单的方法是将其重定向到一个URL,其中包括随GET变量一起传递的javascript变量。

req.onload  = function() {
    if (req.readyState == 4 && req.status == 200) {
        response = JSON.parse(req.responseText);
        $("id01").html(response);
        responseGET = JSON.stringify(response);
        window.location.href = `yourphpfile.php?response=${responseGET}`; 
    }
};

然后处理yourphpfile.php文件中的变量。