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控件
May 07 Javascript
JS中如何设置readOnly的值
Dec 25 Javascript
纯javascript实现简单下拉刷新功能
Mar 13 Javascript
利用jQuery中的ajax分页实现代码
Feb 25 Javascript
js实现日历的简单算法
Jan 24 Javascript
JavaScript中捕获与冒泡详解及实例
Feb 03 Javascript
vue2.x 父组件监听子组件事件并传回信息的方法
Jul 17 Javascript
vue实现城市列表选择功能
Jul 16 Javascript
Vue.js 中 axios 跨域访问错误问题及解决方法
Nov 21 Javascript
微信浏览器下拉黑边解决方案 wScroollFix
Jan 21 Javascript
详解vue或uni-app的跨域问题解决方案
Feb 21 Javascript
在nuxt中使用路由重定向的实例
Nov 06 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
php开发工具之vs2005图解
2008/01/12 PHP
学习使用curl采集curl使用方法
2012/01/11 PHP
教你如何解密 “ PHP 神盾解密工具 ”
2014/06/20 PHP
Laravel框架实现的使用smtp发送邮件功能示例
2019/03/12 PHP
设定php简写功能的方法
2019/11/28 PHP
如何在PHP中使用AES加密算法加密数据
2020/06/24 PHP
Chosen 基于jquery的选择框插件使用方法
2012/05/30 Javascript
js实现特定位取反原理及示例
2014/06/30 Javascript
网页瀑布流布局jQuery实现代码
2016/10/21 Javascript
判断颜色是否合法的正则表达式(详解)
2017/05/03 Javascript
webpack实现热更新(实施同步刷新)
2017/07/28 Javascript
Angular实现的进度条功能示例
2018/02/18 Javascript
Vue 按键修饰符处理事件的方法
2018/05/04 Javascript
ES6与CommonJS中的模块处理的区别
2018/06/13 Javascript
微信小程序实现电子签名并导出图片
2020/05/27 Javascript
python登录豆瓣并发帖的方法
2015/07/08 Python
python使用udp实现聊天器功能
2018/12/10 Python
对python 合并 累加两个dict的实例详解
2019/01/21 Python
Matplotlib使用字符串代替变量绘制散点图的方法
2020/02/17 Python
Django实现从数据库中获取到的数据转换为dict
2020/03/27 Python
关于python 的legend图例,参数使用说明
2020/04/17 Python
IntelliJ 中配置 Anaconda的过程图解
2020/06/01 Python
Python实现进度条和时间预估的示例代码
2020/06/02 Python
美国半成品食材配送服务商:Home Chef
2018/01/25 全球购物
美国高级工作服品牌:Carhartt
2018/01/25 全球购物
2014年小学元旦活动方案
2014/02/12 职场文书
培训协议书范本
2014/04/22 职场文书
竞选班长的演讲稿
2014/04/24 职场文书
企业授权委托书范本
2014/09/22 职场文书
群众路线组织生活会发言材料
2014/10/17 职场文书
工作推荐信模板
2015/03/25 职场文书
遗失证明范文
2015/06/19 职场文书
医院病假条范文
2015/08/17 职场文书
简历自我评价:教师师德表现自我评价
2019/04/24 职场文书
写给消防战士们的一封慰问信
2019/10/07 职场文书
Python docx库删除复制paragraph及行高设置图片插入示例
2022/07/23 Python