jquery ajax json数组到php变量
朋友们,我不知道这是可能的还是不可能的,但是想做下面提到的事情,如果可能的话,给我最好的解决方案 index.phpjquery 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"
<?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>