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 相关文章推荐
JavaScript判断表单提交时哪个radio按钮被选中的方法
Mar 21 Javascript
jquery实现鼠标滑过小图查看大图的方法
Jul 20 Javascript
AngularJS ng-change 指令的详解及简单实例
Jul 30 Javascript
AngularJS全局scope与Isolate scope通信用法示例
Nov 22 Javascript
详解vue2 $watch要注意的问题
Sep 08 Javascript
Js判断H5上下滑动方向及滑动到顶部和底部判断的示例代码
Nov 15 Javascript
小程序实现留言板
Nov 02 Javascript
小程序多图列表实现性能优化的方法步骤
May 28 Javascript
js实现贪吃蛇游戏 canvas绘制地图
Sep 09 Javascript
JS页面动态绘图工具SVG,Canvas,VML介简介
Oct 16 Javascript
vue打开其他项目页面并传入数据详解
Nov 25 Vue.js
vue3如何优雅的实现移动端登录注册模块
Mar 29 Vue.js
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 split汉字
2009/06/05 PHP
PHP 的异常处理、错误的抛出及回调函数等面向对象的错误处理方法
2012/12/07 PHP
PHP 如何获取二维数组中某个key的集合
2014/06/03 PHP
Yii2中使用join、joinwith多表关联查询
2016/06/30 PHP
PHP生成随机字符串实例代码(字母+数字)
2019/09/11 PHP
jQuery页面图片伴随滚动条逐渐显示的小例子
2013/03/21 Javascript
图片动画横条广告带上下滚动的JS代码
2013/10/25 Javascript
Jquery解析json字符串及json数组的方法
2015/05/29 Javascript
js模仿php中strtotime()与date()函数实现方法
2015/08/11 Javascript
JavaScript模拟鼠标右键菜单效果
2020/12/08 Javascript
jQuery实现圣诞节礼物动画案例解析
2016/12/25 Javascript
element上传组件循环引用及简单时间倒计时的实现
2018/10/01 Javascript
解决vue项目运行npm run serve报错的问题
2020/10/26 Javascript
[00:43]DOTA2小紫本全民票选福利PA至宝全方位展示
2014/11/25 DOTA
[05:46]2018完美盛典-《同梦共竞》
2018/12/17 DOTA
实例讲解Python的函数闭包使用中应注意的问题
2016/06/20 Python
Python实现翻转数组功能示例
2018/01/12 Python
python实现随机梯度下降法
2020/03/24 Python
python正则表达式去除两个特殊字符间的内容方法
2018/12/24 Python
Python Django基础二之URL路由系统
2019/07/18 Python
Django实现跨域请求过程详解
2019/07/25 Python
pytorch 利用lstm做mnist手写数字识别分类的实例
2020/01/10 Python
Pyecharts 动态地图 geo()和map()的安装与用法详解
2020/03/25 Python
Python文件读写w+和r+区别解析
2020/03/26 Python
iframe在移动端的缩放的示例代码
2018/10/12 HTML / CSS
俄罗斯连接商品和买家的在线平台:goods.ru
2020/11/30 全球购物
自动化专业毕业生自荐信
2013/11/01 职场文书
校园广播稿500字
2014/02/04 职场文书
渡河少年教学反思
2014/02/12 职场文书
《纸船和风筝》教学反思
2014/02/15 职场文书
2014年信贷员工作总结
2014/11/18 职场文书
2014年保卫工作总结
2014/12/05 职场文书
浅谈JS和Nodejs中的事件驱动
2021/05/05 NodeJs
如何用JS实现简单的数据监听
2021/05/06 Javascript
Python实现视频自动打码的示例代码
2022/04/08 Python
Go结合Gin导出Mysql数据到Excel表格
2022/08/05 Golang