0

我正在尝试制作一个表格,使用 PHP 和 Ajax 动态更新我的表格,而不仅仅是使用 PHP。表单工作一切都很好,除了我不知道如何实现 Ajax 的东西。如果您能给我提供与我的问题相关的帮助或有用的信息,那就太好了。

PHP 文件:item.php?item=Staff

<input type="submit" name="submit"  onClick="UpdateRecord('Staff');" value="Unquip" />

Javasript 代码:

<script type="text/javascript">
function UpdateRecord(item)
  {
      jQuery.ajax({
       type: "POST",
       url: "item.php",
       data: 'item='+item,
       cache: false,
       success: function(response)
       {
         alert("Record successfully updated");
       }
     });
 }
    </script>

我肯定仍然错过了一些重要的东西。

谢谢

4

4 回答 4

1

我看到您已经在使用 jQuery,并且大概正在收到警报以通知您已拨打电话?

如果是这种情况,您可以使用几个不同的选项来更新您的表格:

1:更新整个表

您可以使用 PHP 来执行此操作(并让它为您生成 HTML,实际上我不建议这样做,将您的逻辑与您的视图分开);但如果您已经在使用模板,这是一个可行的选择。

2:返回一个对象,其中包含您的表所需的所有信息

然后使用 Javascript/jQuery 处理这些信息并使用最新信息重新填充或更新您的表格。您可以通过在行和单元格中添加可用的 ID 来更轻松地做到这一点,这样您就可以专门针对表格的某些部分来更新它们。

3 使用 Javascript 重建整个表

这比 #2 更容易,但由于重绘,客户端肯定会花费更多时间。特别是当表包含大量需要重建/重新计算的行时。

我建议您考虑执行 #2,您可以id="item-3214325643"在其中定义一行<tr>

我希望这对你有所帮助!如果您需要任何具体建议,请随时与我联系 :-) 或重新提出另一个更具体的问题。

于 2013-07-22T13:12:43.990 回答
1

如果我想将它发送给客户,那么我通常使用 JQuery:

$.ajax({
    type:'POST',
    url: 'JQuery.php',
    data: 'Action=foo&val=' + variable ),
    async: true,
    success: function(msg){ do something }
})

将其放入 javascript 函数中,并创建回调循环或计时器

t=setTimeout("yourfunction( )",60000);

所以它会不时更新。您还可以将其设置为向服务器发送请求,超时时间很大,如果在超时期间发生某些事情,服务器将响应,如果我正确 gchat/fbchat 以这种方式工作。

这段脚本也应该在客户端运行,因为服务器无法从客户端浏览器启动请求/发布,所以我不知道这是否可以使用纯 php。

如果要请求 fev 页面,则在服务器端对其进行汇总,然后CURL

于 2013-07-22T11:09:46.383 回答
1

如果可以的话,我强烈建议您研究像 jQuery 这样的 javascript 框架,这使得 Ajax 部分变得更加容易。然后,您不必自己处理 XMLHttpRequest,只需调用 jQuery 函数即可。

可以在jQuery 文档中找到该函数的一些很好的示例

GETPOST也描述得很好,它们是更具体的ajax函数版本。

于 2013-07-22T11:06:47.150 回答
0
This is jquery ajax easy to implement ajax.


$.ajax({
  type: "POST",
  url: "item.php",
  data: { name: "John", location: "Boston" }
}).done(function( msg ) {
  alert( "Data Saved: " + msg );
});

and in item.php take value as $_POST name or location and all the data you need to and 
update as you want. like
if(isset($_POST['name']))
{
// write code that you want,
}

you can send your data as GET or POST as you want hope it will help you.

于 2013-07-22T11:14:44.760 回答