我目前正在设计一个使用步骤的系统(如航空公司预订,您可以通过各种步骤购买机票),这些步骤都是通过AJAX完成的。因此,index.php
文件是唯一加载的文件,页面'正在主div
上通过AJAX加载。
系统正常运行,但我需要根据之前输入的数据确保变量在后续加载的页面上传递。 E. g。:
我在第1页上有一个表单,用户输入一些数据,例如他的姓名和国家/地区。单击“提交”时,该按钮会触发一个AJAX请求,其结果是第2页的内容,加载到div
上。但我需要页面2的变量填充第1页上的值。页面2有另一个表单,其中包含新数据和另一个提交按钮。单击时,它通过AJAX请求第3页,其中必须包含第1页和第2页的变量。依此类推。
哪种方式最明智?使用 PHP会话?通过 $。获取或 $。发送?
我请求你的意见。
非常感谢。
答案 0 :(得分:8)
如果您使用的是像jQuery这样的库 - 最简单的选择是将变量作为POST或GET参数传递,请参阅:http://api.jquery.com/jQuery.ajax/
例如:
$.ajax({
type: "POST",
url: "some.php",
data: { name: "John", location: "Boston" }
}).done(function( msg ) {
alert( "Data Saved: " + msg );
});
您可以根据需要将type
更改为GET或POST,data
键应保存您要发送的数据。 (采用JSON格式)
关于如何将php数据作为JSON传递给js,请参阅passing php variable
答案 1 :(得分:1)
我会去
$.post
jQuery的选项。 http://api.jquery.com/jQuery.post/ 将所有变量传递给PHP脚本,让PHP脚本生成div的新内容(下一步),填入所有变量(新的变量+帖子中的变量)。如果有变量应该转移但未向访客显示,请使用隐藏字段进行传输。 顺便说一句:要通过jQuery获取表单中所有输入的内容,请使用
serialize()
http://api.jquery.com/serialize/ 他们像魅力一样工作!