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两段代码,两个小技巧
Feb 04 Javascript
JS 事件绑定函数代码
Apr 28 Javascript
JQuyer $.post 与 $.ajax 访问WCF ajax service 时的问题需要注意的地方
Sep 20 Javascript
javascript-简单的计算器实现步骤分解(附图)
May 30 Javascript
深入理解javascript中defer的作用
Dec 11 Javascript
cookie中的path与domain属性详解
Dec 18 Javascript
JavaScript屏蔽Backspace键的实现代码
Nov 02 Javascript
vue中使用element-ui进行表单验证的实例代码
Jun 22 Javascript
详解node.js的http模块实例演示
Jul 12 Javascript
如何解决vue2.0下IE浏览器白屏问题
Sep 13 Javascript
jquery使用echarts实现有向图可视化功能示例
Nov 25 jQuery
jQuery实现颜色打字机的完整代码
Mar 19 jQuery
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 获取远程文件内容的函数代码
2010/03/24 PHP
php5.2 Json不能正确处理中文、GB编码的解决方法
2014/03/28 PHP
php支付宝系列之电脑网站支付
2018/05/30 PHP
解决在laravel中auth建立时候遇到的问题
2019/10/15 PHP
浅析document.ready和window.onload的区别讲解
2013/12/18 Javascript
js实现Form栏显示全格式时间时钟效果代码
2015/08/19 Javascript
初步使用Node连接Mysql数据库
2016/03/03 Javascript
Javascript点击其他任意地方隐藏关闭DIV实例
2016/06/21 Javascript
AngularJS $injector 依赖注入详解
2016/09/14 Javascript
原生js实现键盘控制div移动且解决停顿问题
2016/12/05 Javascript
深入理解Vue transition源码分析
2017/07/30 Javascript
javascript显示动态时间的方法汇总
2018/07/06 Javascript
angular ng-model 无法获取值的处理方法
2018/10/02 Javascript
vue-router权限控制(简单方式)
2018/10/29 Javascript
JS实现图片拖拽交换效果
2018/11/30 Javascript
深入分析JavaScript 事件循环(Event Loop)
2020/06/19 Javascript
python调用机器喇叭发出蜂鸣声(Beep)的方法
2015/03/23 Python
pyqt5 lineEdit设置密码隐藏,删除lineEdit已输入的内容等属性方法
2019/06/24 Python
python requests库爬取豆瓣电视剧数据并保存到本地详解
2019/08/10 Python
Python插入Elasticsearch操作方法解析
2020/01/19 Python
使用Python开发个京东上抢口罩的小实例(仅作技术研究学习使用)
2020/03/10 Python
python 安装库几种方法之cmd,anaconda,pycharm详解
2020/04/08 Python
Python自动化办公Excel模块openpyxl原理及用法解析
2020/11/05 Python
css3过渡_动力节点Java学院整理
2017/07/11 HTML / CSS
大女孩胸罩:Big Girls Bras
2016/12/15 全球购物
英国50岁以上人群的交友网站:Ourtime
2018/03/28 全球购物
英国美术用品购物网站:Cass Art
2019/10/08 全球购物
美国乒乓球设备、配件和服装品牌:Killerspin
2020/06/07 全球购物
考博专家推荐信模板
2013/12/02 职场文书
物理教师自荐信范文
2013/12/28 职场文书
优秀毕业生自我鉴定
2014/01/19 职场文书
我的小天地教学反思
2014/04/30 职场文书
2016暑期政治学习心得体会
2016/01/23 职场文书
《乌鸦喝水》教学反思
2016/02/19 职场文书
Golang标准库syscall详解(什么是系统调用)
2021/05/25 Golang
volatile保证可见性及重排序方法
2022/08/05 Java/Android