<html>
<meta charset="utf-8"/>
<head><title>搜索页</title></head>
<body>
<input type="text" id="user_data"/><button onclick="search()">百度一下</button>
<div id="list"></div> </body>
</html>
<script type="text/javascript">
function search(){
//alert(1);
var user_data = document.getElementById('user_data').value;//接收到文本框的值
if (user_data=="")
{
document.getElementById('list').innerHTML="不可为空";
}else{
//alert(user_data);
var xhr = new XMLHttpRequest();//引入原生ajax
//console.log(xhr);
xhr.open("post","search.php",true); xhr.setRequestHeader('Content-type','application/x-www-form-urlencoded'); xhr.onreadystatechange = function(){
//console.log(xhr.readyState);//打印监听状态
//console.log(xhr.responseText);//值
var cd = xhr.responseText;
var e = JSON.parse(cd);
var str = "<table><th>id</th><th>name</th><th>email</th>";
for(var i =0 in e){
str+="<tr><td>"+e[i].id+"</td><td>"+e[i].name+"</td><td>"+e[i].email+"</td></tr>";
}
str+="</table>";
document.getElementById("list").innerHTML=str;
}
xhr.send("data="+user_data);
}
} </script>

php代码:

<?php
$data = $_POST['data'];
$dsn = "mysql:host=127.0.0.1;port=3306;charset=utf8;dbname=news";
$pdo = new PDO($dsn,"root","root");
$sql = "select * from news where name like '%$data%'";
$res = $pdo->query($sql);
$row = $res->fetchALL(PDO::FETCH_ASSOC);
echo json_encode($row);
?>

使用get请求的总结 

1、创建ajax对象
2、给ajax状态的改变绑定监听的事件处理程序
3、建立一个http请求
4、发送一个http请求
 
在使用post方法时一定要设置请求头
xhr.setRequestHeader('Content-type','application/x-www-form-urlencoded');
 
 

 

2019-08-02 原生ajax搜索的更多相关文章

  1. 2019.08.02 云从科技C++后台开发

    公司坐标:重庆 岗位:C++后台开发 面试时长:45分钟 主要问题记录: (1)手写代码 冒泡算法的实现: /**   * 冒泡排序:C++   *   * @author skywang   * @ ...

  2. 【纪中集训】2019.08.02【NOIP提高组】模拟 A 组TJ

    \(\newcommand{\RNum}[1]{\uppercase\expandafter{\romannumeral #1\relax}}\) T1 一道可以暴力撵标算的题-- Descripti ...

  3. 原生Ajax

    使用原生Ajax 验证用户名是否被注册 创建出注册信息: <h1>注册信息</h1><input type="text" name="txt ...

  4. 浅谈AJAX的基本原理和原生AJAX的基础用法

    一.什么是AJAX? AJAX,即"Asynchronous Javascript And XML",翻译为异步的JavaScript和XML,是一种创建交互式网页应用的网页开发技 ...

  5. 原生AJAX如何异步提交数据?

    AJAX概述 AJAX:Asynchronous Javascript And XML,异步的JS和XML.2001,Google为了改进搜索的用户体验,提出了GoogleSugguest效果,正式提 ...

  6. JS原生ajax

    原文链接:http://caibaojian.com/ajax-jsonp.html 一.JS原生ajax ajax:一种请求数据的方式,不需要刷新整个页面: ajax的技术核心是 XMLHttpRe ...

  7. 原生ajax与封装的ajax使用方法

    当我们不会写后端接口来测试ajax时,我们可以使用node环境创建一个本地服务器. 1.创建一个本地服务器可参考http://www.cnblogs.com/heyujun-/p/6793900.ht ...

  8. 原生ajax、XMLHttpRequest和FetchAPI简单描述

    什么是ajax ajax的出现,刚好解决了传统方法的缺陷.AJAX 是一种用于创建快速动态网页的技术.通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载整个 ...

  9. JS原生ajax与Jquery插件ajax深入学习

    序言: 近来随着项目的上线实施,稍微有点空闲,闲暇之时偶然发现之前写的关于javascript原生xmlHttpRequest ajax方法以及后来jquery插件ajax方法,于是就行了一些总结,因 ...

随机推荐

  1. django使用pycharm目录打开不正确导致的问题

    1.在目录D:\software\pycharmpython\djangoProject下新建helloworld的项目:django-admin startproject helloworld 2. ...

  2. 201871020225-牟星源《面向对象程序设计(java)》第四周学习总结

    201871020225-牟星源<面向对象程序设计(java)>第四周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这 ...

  3. Pandas | 02 Series 系列

    系列(Series)是能够保存任何类型的数据(整数,字符串,浮点数,Python对象等)的一维标记数组.轴标签统称为索引. pandas.Series Pandas系列可以使用以下构造函数创建 - p ...

  4. Android 开发基础入门篇: android studio安装教程

    下载地址 http://www.android-studio.org/ 注意: 安装主要分两种情况,下载的自带SDK和不带SDK两种 然后又分为安装版,就是.exe和解压版 两种的区别...解压版,, ...

  5. Python 的AES加密与解密

    AES加密方式有五种:ECB, CBC, CTR, CFB, OFB 从安全性角度推荐CBC加密方法,本文介绍了CBC,ECB两种加密方法的python实现 python 在 Windows下使用AE ...

  6. 网络协议 16 - DNS 协议

    为什么在地址栏输入域名,就能直接访问到对应服务器?全局负载均衡和内部负载均衡又是什么?这些都和 DNS 解析息息相关,让我们一起来解密 DNS 解析.     其实说起 DNS 解析,应该都知道它很像 ...

  7. asp.net core nginx配置问题解决

    1.无法访问nginx到发布的站点,但是使用原配置(nginx.conf)却可以.使用新建的配置conf.d/netcore.conf不行. 2.在windows浏览中访问http://xxx.xxx ...

  8. netcore容器与配置文件操作

    using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Configuration.Json; using Micro ...

  9. spark 存取mysql

    1.先上代码,存入mysql val spark = SparkSession.builder() .appName("jdbc") .getOrCreate() import s ...

  10. Spring JDBC最佳实践(1)

    原文地址:https://my.oschina.net/u/218421/blog/38513 Spring提供了两种使用JDBC API的最佳实践,一种是以JdbcTemplate为核心的基于Tem ...