2

我目前正在设计一个使用步骤的系统(例如航空公司预订,您可以在其中传递各种步骤来购买机票),并且这些步骤是通过 AJAX 完成的。因此,该index.php文件是加载的唯一文件,并且页面正在通过 AJAX 在 main 上加载div

系统正常工作,但我需要根据之前输入的数据确保变量在后续加载的页面上传递。例如:

我在第 1 页上有一个表格,用户可以在其中输入一些数据,例如他的姓名和国家/地区。单击提交时,该按钮会触发 AJAX 请求,结果是页面 2 的内容,正在加载到div. 但我需要第 2 页的变量填充第 1 页上的值。第 2 页有另一个带有新数据的表单和另一个提交按钮。单击时,它会通过 AJAX 请求第 3 页,其中必须包含第 1 页和第 2 页的变量。依此类推。

哪种方法最聪明?使用PHP 会话?通过$.get$.post传递?

我请求你的意见。

非常感谢。

4

2 回答 2

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,请参阅传递 php 变量

于 2013-04-12T13:10:51.443 回答
1

我会去的

$.post

jQuery的选项。 http://api.jquery.com/jQuery.post/ 将所有变量传递给您的 PHP 脚本,并让该 PHP 脚本使用所有变量(新变量 + 来自的变量)生成 div 的新内容(下一步)帖子)填写。如果有变量应该传输但未显示给访问者,请使用隐藏字段传输它们。顺便说一句:要通过 jQuery 获取表单中所有输入的内容,请使用

serialize()

http://api.jquery.com/serialize/ 他们一起工作就像一个魅力!

于 2013-04-12T13:15:40.627 回答