PHP获取VS jquery.load / ajax

时间:2014-02-13 02:17:12

标签: php jquery sql ajax zen-cart

我是一个可怕的业余爱好者,并不完全理解PHP的过程。

我有一个购物车网站,我想修改某些功能并添加一些可用性增强功能。

在主产品页面上,用户可以将产品添加到购物车。在同一产品页面上,用户还会看到该产品的附加项目。这些附加项目也有自己的产品页面。

通常,当用户点击添加项目时,会将其从主产品页面转移到添加项目的产品页面。

我想要做的是在jQuery / CSS3叠加层中添加项目的信息加载 - 并将它们保留在主产品页面上。

我使用jQuery.load实现了这一点 - 但购物车(Zen-Cart)有一个历史快照 - 而jQuery.load函数有一些不良影响。此外,我宁愿使用PHP直接从SQL加载信息。

我看过这个: http://www.w3schools.com/php/php_ajax_database.asp

并发现它比jQuery.load更清晰。

我理解的麻烦是PHP Get将如何在这样的环境中执行。例如,两个用户通过getuser.php文件同时加载add on item的信息。同样,一个用户通过浏览多个标签来访问两个信息。

更简单 -

如果user1点击了一个附加项目,它会根据所选的附加项目传递一个变量,即     xmlhttp.open( “GET”, “getuser.php Q =” + STR,真)

如果user2点击了不同的add on item,它会做同样的事情 - 但假设user2的请求稍晚一些,这会覆盖user1请求最初放在那里的信息 - 从而给user1提供错误的信息吗?或者它会创建文件的多个实例,并避免两个请求的结果相互干扰?同样,使用两个浏览器标签同时来自同一用户的两个请求呢?

我知道这听起来有多糟糕 - 但我不知道如何更好地说出来我很抱歉:(

1 个答案:

答案 0 :(得分:0)

您可以在jquery中使用$.get(url,data,response);来实现此目的。例如:

$('#product-list a').on('click',function(){
   var id = $(this).data('id');//if you put product id as attribute data
   $.get('addtocart.php',{id: id},function(){
      $('#cart').load('cart.php'); //only your cart reload. not the page!
   }
   return false;
}

和你的addtocart.php

$id = $_GET['id']
//your query put here

这只是简单的样本。不用于生产。因为在现实生活中,你需要关注安全性。抱歉我的英语不好:)

更多信息请访问: