Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jquery ajax json数组到php变量_Php_Jquery_Json - Fatal编程技术网

jquery ajax json数组到php变量

jquery ajax json数组到php变量,php,jquery,json,Php,Jquery,Json,朋友们,我不知道这是可能的还是不可能的,但是想做下面提到的事情,如果可能的话,给我最好的解决方案 index.php <?php mysql_connect('localhost', 'root', '') or die (mysql_error()); mysql_select_db('mydb') or die (mysql_error()); ?> <html> <head> <script type="text/javascript"

朋友们,我不知道这是可能的还是不可能的,但是想做下面提到的事情,如果可能的话,给我最好的解决方案

index.php

<?php
mysql_connect('localhost', 'root', '') or die (mysql_error());
mysql_select_db('mydb') or die (mysql_error());
?>
<html>
  <head>
    <script type="text/javascript" src="jquery-1.8.2.js"></script>
    <script type="text/javascript">
      $(document).ready(function(){
        $('input[type="button"]').click(function(){
          $.ajax({
            url : 'ajax.php',
            success : function(data){
              alert(data);
            }
          });
        });
      });
    </script>
  </head>
  <body>
    <input type="button" name="button" value="Submit">
    <?php print_r($_REQUEST['data'])?>
  </body>
</html>
现在我想将这个ajax响应存储在PHP变量中并显示它。 如何解决这个问题,有人能帮我吗

提前谢谢!!
您好。

听起来像是在尝试跨页面请求持久化数据。记住,每个页面请求,无论是页面刷新还是ajax请求,都会创建一个新的php运行时。变量不是跨这些存储的,但是当然有多种技术用于允许这种行为发生。跨页面请求持久化数据的最常见方法是使用PHP会话和cookie


这是一篇非常有用的文章,详细解释了如何实现会话和cookie。

简短的回答是不,这是不可能的。在将数据发送到客户端之前,您已经将其保存在PHP数组中。一旦json数组到达,就不可能将其存储为PHP数组。这当然需要将其发送回服务器

在AJAX成功函数中,可以解析json并将其插入表单(或任何其他HTML元素)。下面是一个例子:

var obj = jQuery.parseJSON(data);
$.each(obj.name, function(index, value) {
    $('<input>').attr({
        type: 'input',
        name: 'name[]',
        value: value
    }).appendTo('#name_box');
});
var obj=jQuery.parseJSON(数据);
$.each(对象名称、函数(索引、值){
$('').attr({
键入:“输入”,
名称:“名称[]”,
价值:价值
}).appendTo(“#name_box”);
});
这是一个示例表单:

<form action="edit_names.php" method="post">
    <div id="name_box"></div>
    <input type="submit" value="Submit" />
</form>


收到响应后,您将处于客户端,无法运行PHP。您正在客户端使用javascript。设置变量后,您希望在何处再次使用该变量?是的,您是对的,但我们仍然有任何方法或方法可以将该json数组存储在php数组中。。你有什么想法或逻辑吗…??我想在一个表中以列表的形式显示这些名称,然后我想对每个名称进行编辑功能。我会使用jQuery将其插入一个表单中,以便他们可以进行编辑,然后当表单提交时,你可以在服务器端用PHP使用它。非常感谢@Péde Leão。。。这对我很有帮助。。谢谢你,伙计!!
var obj = jQuery.parseJSON(data);
$.each(obj.name, function(index, value) {
    $('<input>').attr({
        type: 'input',
        name: 'name[]',
        value: value
    }).appendTo('#name_box');
});
<form action="edit_names.php" method="post">
    <div id="name_box"></div>
    <input type="submit" value="Submit" />
</form>