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 相关文章推荐
统一接口:为FireFox添加IE的方法和属性的js代码
Mar 25 Javascript
用javascript实现读取txt文档的脚本
Jul 20 Javascript
jquery 多行滚动代码(附详细解释)
Jun 17 Javascript
JavaScript将Table导出到Excel实现思路及代码
Mar 13 Javascript
JS中Date日期函数中的参数使用介绍
Jan 02 Javascript
Javascript字符串浏览器兼容问题分析
Dec 01 Javascript
详解Bootstrap按钮
Jan 04 Javascript
JS遍历数组和对象的区别及递归遍历对象、数组、属性的方法详解
Jun 14 Javascript
Vue.js在使用中的一些注意知识点
Apr 29 Javascript
详解jQuery-each()方法
Mar 13 jQuery
解决Idea、WebStorm下使用Vue cli脚手架项目无法使用Webpack别名的问题
Oct 11 Javascript
继承行为在 ES5 与 ES6 中的区别详解
Dec 24 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
火影忍者:这才是千手柱间和扉间的真正死因,角都就比较搞笑了!
2020/03/10 日漫
php缓存技术详细总结
2013/08/07 PHP
PHP中的socket_read和socket_recv区别详解
2015/02/09 PHP
php微信支付接口开发程序
2016/08/02 PHP
php使用正则表达式获取字符串中的URL
2016/12/29 PHP
删除PHP数组中头部、尾部、任意元素的实现代码
2017/04/10 PHP
15个款优秀的 jQuery 图片特效插件推荐
2011/11/21 Javascript
JQUERY dialog的用法详细解析
2013/12/19 Javascript
获取select元素被选中的文本内容的js代码
2014/01/29 Javascript
jQuery选择器之基本选择器与层次选择器
2015/03/03 Javascript
如何用js 实现依赖注入的思想,后端框架思想搬到前端来
2015/08/03 Javascript
12种JavaScript常用的MVC框架比较分析
2015/11/16 Javascript
详解JavaScript的变量和数据类型
2015/11/27 Javascript
正则表达式优化JSON字符串的技巧
2015/12/24 Javascript
深入理解setTimeout函数和setInterval函数
2016/05/20 Javascript
谈谈JavaScript数组常用方法总结
2017/01/24 Javascript
js实现九宫格的随机颜色跳转
2017/02/19 Javascript
JS简单验证上传文件类型的方法
2017/04/17 Javascript
Vue 仿QQ左滑删除组件功能
2018/03/12 Javascript
React之PureComponent的使用作用
2018/07/10 Javascript
[04:50]2019DOTA2高校联赛秋季赛四强集锦
2019/12/27 DOTA
Python使用CMD模块更优雅的运行脚本
2015/05/11 Python
Python用Bottle轻量级框架进行Web开发
2016/06/08 Python
Python内建函数之raw_input()与input()代码解析
2017/10/26 Python
python数据预处理方式 :数据降维
2020/02/24 Python
Python OpenCV实现测量图片物体宽度
2020/05/27 Python
Python数据可视化实现漏斗图过程图解
2020/07/20 Python
HTML5实现直播间评论滚动效果的代码
2020/05/27 HTML / CSS
英国和国际包裹递送:ParcelCompare
2019/08/26 全球购物
名词解释型面试题(主要是网络)
2013/12/27 面试题
机关驾驶员违规检讨书
2014/09/13 职场文书
民事诉讼代理授权委托书
2014/10/11 职场文书
英语读书笔记
2015/07/02 职场文书
大学宣传委员竞选稿
2015/11/19 职场文书
MySQL基础(一)
2021/04/05 MySQL
如何理解python接口自动化之logging日志模块
2021/06/15 Python