Ajax实现不刷新取最新商品


Posted in Javascript onMarch 01, 2017

话不多说,请看代码:

<?php 
 $conn = mysql_connect('localhost','root','123456') or die('连接失败'); 
 mysql_select_db('ecshop'); 
 mysql_query('set names utf8'); 
 $attr = isset($_GET['attr'])?$_GET['attr']:'is_hot';  //由html 的ajax提交过来 然后根据它来取数据~ 
 $sql = 'select goods_name,goods_id,shop_price from goods where '.$attr.' = 1 limit 0,3'; 
 $rs = mysql_query($sql,$conn); 
 //var_dump($rs); 
 $goods = array(); 
 while($row = mysql_fetch_assoc($rs)){ 
  $goods[] = $row; 
 } 
 //print_r($goods); 
?>
<table border='1'> //ajax 接收的就是 php输出内容 虽然它没echo 但也是输出在网页的内容 所以ajax 能接收~~!!! 
<tr><td>商品ID</td><td>商品名称</td><td>商品价格</td></tr> 
<?php foreach($goods as $v){ ?> 
 <tr> 
  <td><?php echo $v['goods_id'];?></td> 
  <td><?php echo $v['goods_name'];?></td> 
  <td><?php echo $v['shop_price'];?></td> 
 </tr> 
<?php }?> 
</table>

HTML 的内容

<script> 
 var xhr = new XMLHttpRequest(); 
 function top3(attr){ 
  var url = 'goods.php?attr=' + attr; 
  xhr.open('get',url); 
  xhr.onreadystatechange = function (){ 
   if(xhr.readyState ==4){ 
    var dobj = document.getElementsByTagName('div')[0].innerHTML = xhr.responseText; //把从php 接收的内容放入INNERHTML 
   } 
  } 
  xhr.send(); 
 } 
</script> 
</head> 
<body> 
  <input type="button" value="最新商品" onclick="top3('is_new');"> 
  <input type="button" value="热卖商品" onclick="top3('is_hot');"> 
  <input type="button" value="精品商品" onclick="top3('is_best');"> 
  <div id="test"> 
  </div> 
</body>

实例2:根据输入的ID 获取商品信息 并修改

<?php 
$conn = mysql_connect('localhost','root','123456') or die('连接失败'); 
 mysql_select_db('ecshop'); 
 mysql_query('set names utf8'); 
 $id = isset($_GET['id'])?$_GET['id']:1; 
 if($id==''){ 
  $error['num'] = 1; 
  $error['msg']; 
 } 
 $sql = 'select goods_id,goods_name,shop_price,goods_number from goods where goods_id ='.$id; 
 $rs = mysql_query($sql); 
 if(!($goods = mysql_fetch_assoc($rs))){  //获取不到商品就返回false 
  echo '没有该商品!'; 
  exit; 
 } 
 echo json_encode($goods);     //把数组转成一个json 格式~~ 
?>

HTML端的内容

<script> 
 var xhr = new XMLHttpRequest(); 
 function modify(){ 
  var inputs = document.getElementsByTagName('input') 
  var gid = inputs[0].value; 
  var url = 'search.php?id='+ gid;
  xhr.open('get',url); 
  xhr.onreadystatechange = function (){ 
   if(xhr.readyState ==4){ 
    var data = eval('('+ xhr.responseText +')') //把接收到的json 格式数据转成JS的对象! 
    inputs[1].value = data.goods_name; 
    inputs[2].value = data.goods_number; 
    inputs[3].value = data.shop_price; 
   } 
  } 
  xhr.send(null) //经常漏写了~~~不写是发送不了请求的~~一定要写! 
 } 
</script> 
</head> 
<body> 
<h1>商品编辑</h1> 
  商品id:<input type="text" name="goods_id" onfocus="al()" onblur="modify();" /><br /> <span></span> 
  商品名称:<input type="text" name="goods_name" /><br /> 
  商品库存:<input type="text" name="goods_number" /><br /> 
  商品价格:<input type="text" name="shop_price" /><br /> 
  <input type="submit" value="修改" /> 
</body>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
js中方法重载如何实现?以及函数的参数问题
Aug 01 Javascript
jQuery function的正确书写方法
Aug 02 Javascript
js利用事件的阻止冒泡实现点击空白模态框的隐藏
Jan 24 Javascript
javascript检测是否联网的实现代码
Sep 28 Javascript
jQuery中设置form表单中action值的实现方法
May 25 Javascript
Angular 4依赖注入学习教程之ClassProvider的使用(三)
Jun 04 Javascript
JS 组件系列之Bootstrap Table 冻结列功能IE浏览器兼容性问题解决方案
Jun 30 Javascript
JS实现带导航城市列表以及输入搜索功能
Jan 04 Javascript
vue-cli项目优化方法- 缩短首屏加载时间
Apr 01 Javascript
解决vue接口数据赋值给data没有反应的问题
Aug 27 Javascript
JS实现点击按钮随机生成可拖动的不同颜色块示例
Jan 30 Javascript
node使用mysql获取数据库数据中文乱码问题的解决
Dec 02 Javascript
Angular1.x复杂指令实例详解
Mar 01 #Javascript
JS中使用 after 伪类清除浮动实例
Mar 01 #Javascript
Angular1.x自定义指令实例详解
Mar 01 #Javascript
轻松学习Javascript闭包
Mar 01 #Javascript
js图片延迟加载(Lazyload)三种实现方式
Mar 01 #Javascript
node.js实现回调的方法示例
Mar 01 #Javascript
JQ中$(window).load和$(document).ready区别与执行顺序
Mar 01 #Javascript
You might like
生成sessionid和随机密码的例子
2006/10/09 PHP
第二节--PHP5 的对象模型
2006/11/16 PHP
php操作xml入门之xml基本介绍及xml标签元素
2015/01/23 PHP
详解PHP处理字符串类似indexof的方法函数
2017/06/11 PHP
短信提示使用 特效
2007/01/19 Javascript
JS按位非(~)运算符与~~运算符的理解分析
2011/07/31 Javascript
js 单击式的下拉菜单效果实例
2013/08/13 Javascript
JS中typeof与instanceof之间的区别总结
2013/11/14 Javascript
js中arguments,caller,callee,apply的用法小结
2014/01/28 Javascript
jquery、js调用iframe父窗口与子窗口元素的方法整理
2014/07/31 Javascript
jQuery实现动画效果circle实例
2015/08/06 Javascript
JavaScript实现横向滑出的多级菜单效果
2015/10/09 Javascript
jQuery点击输入框显示验证码图片
2016/05/19 Javascript
浅谈EasyUI常用控件的禁用方法
2016/11/09 Javascript
微信小程序获取循环元素id以及wx.login登录操作
2017/08/17 Javascript
在Swiper内如何制作CSS3动画效果示例代码
2017/12/07 Javascript
layui实现数据分页功能
2019/07/27 Javascript
Electron 调用命令行(cmd)
2019/09/23 Javascript
Python下的常用下载安装工具pip的安装方法
2015/11/13 Python
Python实现PS滤镜功能之波浪特效示例
2018/01/26 Python
设置jupyter中DataFrame的显示限制方式
2020/04/12 Python
python selenium 获取接口数据的实现
2020/12/07 Python
详解Java中一维、二维数组在内存中的结构
2021/02/11 Python
一款超酷的js+css3实现的3D标签云特效兼容ie7/8/9
2013/11/18 HTML / CSS
CSS中垂直居中的简单实现方法
2015/07/06 HTML / CSS
分享一个页面平滑滚动小技巧(推荐)
2019/10/23 HTML / CSS
巴西电子产品购物网站:Saldão da Informática
2018/01/09 全球购物
Hammitt官网:设计师手袋
2020/05/23 全球购物
英文版餐饮运营管理求职信
2013/11/06 职场文书
社区党务公开实施方案
2014/03/18 职场文书
三分钟演讲稿范文
2014/04/24 职场文书
举起手来观后感
2015/06/09 职场文书
《叶问2》观后感
2015/06/15 职场文书
python如何做代码性能分析
2021/04/26 Python
SpringBoot 整合mongoDB并自定义连接池的示例代码
2022/02/28 MongoDB
Java实战之课程信息管理系统的实现
2022/04/01 Java/Android