1

只是想知道我如何将值从“var vname”保存到“$data”,以便我可以在我的 php.ini 中使用该值。假设这很容易,但我是新手:P

<script id="source" language="javascript" type="text/javascript">

        //Call the yourAjaxCall() function every 1000 millisecond
        setInterval("yourAjaxCall()",1000);
        function yourAjaxCall() 
      {
        //-----------------------------------------------------------------------
        // 2) Send a http request with AJAX http://api.jquery.com/jQuery.ajax/
        //-----------------------------------------------------------------------
        $.ajax({                                      
          url: 'api.php',                  //the script to call to get data          
          data: "",                        //you can insert url argumnets here to pass to api.php
                                           //for example "id=5&parent=6"
          dataType: 'json',                //data format
          success: function(data)          //on recieve of reply
          {
            var id = data[0];              //get id
            var vname = data[1];           //get name

            $data = vname; //HOW AND WHERE??????? :P
          }

        });
      };
</script>

/EDIT - want my var vname which is a color, to be placed in the style.
<body>
<div id="kvadrat1" style="width:200px; height:200px; position:relative; background-color:'HERE I WANT MY VALUE'">
</div>

非常适合快速回答!:)

4

6 回答 6

0

在这里阅读:使用 ajax 将 javascript 变量传递给 php,结果不显示任何内容

这将向您解释如何在 PHP 中使用 javascript 变量。兹拉杜里克给出了很好的回答。

于 2013-09-24T09:33:00.053 回答
0

您不能将其保存在 php.ini 中。

您可以将其保存到 HTML 元素

如果您需要在 php 变量中使用 ajax 或标头重定向将其发送到其他页面

于 2013-09-24T09:34:35.610 回答
0

PHP 代码在用户加载页面时执行一次。JS 在用户在页面上时执行。这就是为什么无法将 JS 生成的值绑定到 PHP 变量的原因。

于 2013-09-24T09:47:54.407 回答
0

页面加载或 js 中不能使用 php 代码。

javascript 仅适用于浏览器基础。php 在加载页面之前仅适用于服务器。

// you can
var name = "<?=echo $name?>";

//you CANT!
var name = "joe";

$name = name;
于 2013-09-24T10:02:50.847 回答
0

在我看来,您只是想获取名称和 ID,但无法想象为什么您需要每 1000 毫秒执行一次 - 似乎很多数据请求不会改变?

就个人而言,我只是建议在页面加载之前在您的 PHP 中进行 API 调用,并且您可以var name = "<?=echo $name?>";像 avalkab 所说的那样,以便在页面加载后访问 JavaScript 中的变量。

应该可以使用

$data = json_decode(file_get_contents("api.php?id=5&parent=6")); // Specify or build query however you intended

如果您正在等待用户交互(onclick 或其他东西)来调用您的 javascript,那么如果您希望使用 AJAX 检索到的数据来更改整个页面上的数据 - 您可能只想重新加载页面,或修改您的 AJAX 到使用返回的数据?

编辑:由于您正在尝试更改颜色,您可以简单地将这条线与 jQuery 一起使用

$("#kvadrat1").css({"background-color": vname});

所以你的代码会是这样的:

//Call the yourAjaxCall() function every 1000 millisecond
setInterval("yourAjaxCall()",1000);
function yourAjaxCall() {
    //-----------------------------------------------------------------------
    // 2) Send a http request with AJAX http://api.jquery.com/jQuery.ajax/
    //-----------------------------------------------------------------------
    $.ajax({                                      
        url: 'api.php',                  //the script to call to get data          
        data: "",                        //you can insert url argumnets here to pass to api.php
                                       //for example "id=5&parent=6"
        dataType: 'json',                //data format
        success: function(data)          //on recieve of reply
        {
            var id = data[0];              //get id
            var vname = data[1];           //get name

            $("#kvadrat1").css({"background-color" : vname});
        }
    });
};
于 2013-09-24T10:39:56.300 回答
0

您不能将其存储在 php 中,而是可以使用任何 html 元素来存储它

您可以通过使用将数据保存在 html 元素中$("#id").html(data[0]);

于 2013-09-24T10:43:08.500 回答