如何通过jQuery AJAX传递PHP变量

时间:2016-06-21 18:31:11

标签: javascript php jquery ajax

好的,我试图关注this tutorial,但不是将其存储在数据库中,而是将其存储在其他地方。

虽然我不知道如何使用jQuery将PHP变量附加到正文中,但是有一个问题!

这是index.php

<html>

<head>
    <title>Store Your Browser Resolution!</title>
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
    <script src="js/main.js"></script>
</head>

<body>
    <button id="btn-POST">CLICK</button>
</body>

这是Main.js

$(document).ready(function(){
$("#btn-POST").click(function(){
   $.ajax({
    type: 'POST',
    url: '/index.php',
    data: {
        width        : $(window).width(),
        height       : $(window).height(),
        screen_width : screen.width,
        screen_height: screen.height
    },
    success: function( data )
    {
        console.log('SUCCESS!');
        $("body").append($('<?php $width = $_POST["width"]; $height = $_POST["height"]; $screen_width = $_POST["screen_width"]; $screen_height = $_POST["screen_height"]; ?>'));
        $("body").delay(800).append($('<?php echo  ?>'))
    }
    }); 
});
console.log('Test!');
});

任何帮助将不胜感激:)

-Alex

2 个答案:

答案 0 :(得分:2)

用户从您的服务器加载HTML / PHP网站后,不可能执行更多PHP个命令。

这是因为PHP是服务器端的,用户请求文档,服务器执行所有php命令并为用户提供生成的HTML文档。

通过JavaScript添加PHP代码是 clientside ,因此无法使用。

答案 1 :(得分:0)

你无法在你的javascript文件中使用php,但你可以随时在你的index.php文件中声明javascript变量并在你的javascript文件中调用这些javascript对象。
例如:

//index.php
<script>
    var width = '<?php echo $_POST["width"]; ?>';
    ....
<script>

现在只需调用javascript文件中的变量。

//Main.js
$("body").append(width+....);