使用原生JavaScript发送ajax请求

关于使用原生JavaScript发送异步请求给服务端。

准备工作:

代码编写工具用的是sublime 服务端使用的是wamp搭的一个本地Apache服务器,主要用来返回数据 方便测试

步骤:

浏览器端

  html标签绑定事件发送ajax请求---->

  五步操作:1 创建异步对象XMLHttpRequest;

       2 设置method url

       3 发送请求给服务端

       4 注册事件

         5 在事件中获取服务端返回的数据,进行操作。

服务器端

  1 获取请求数据

  2 返回结果给浏览器

下面来一个小demo1做一个简单的请求操作 点击按钮发送请求给服务器端,返回图片地址,渲染div的背景图
nobibi 上代码

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <style>
 4     .div1{
 5         width: 200px;
 6         height: 200px;
 7         border: 1px solid red;
 8         margin: 20px auto;
 9     }
10     .div2{
11         width: 300px;
12         height: 100px;
13         border: 1px solid red;
14         margin: 20px auto;
15     }
16     body{
17         text-align: center;
18     }
19 </style>
20     <head>
21         <meta charset="utf-8">
22     </head>
23     <body>
24     <div class=‘div1‘></div>
25     <div class=‘div2‘></div>
26     <input type="button" value="baby" class=‘starBtn‘>
27     <input type="button" value="hxm" class=‘starBtn‘>
28     <input type="button" value="lh" class=‘starBtn‘>
29     </body>
30 </html>
31 <script>
32     //获取按钮list
33     var btnList = document.querySelectorAll(‘.starBtn‘);
34         //循环绑定点击事件
35     for (var i = 0; i < btnList.length; i++) {
36         btnList[i].onclick = function(){
37                         //新建异步处理对象
38             var ajax = new XMLHttpRequest();
39                         //设置请求类型为post,请求的页面为server1.php
40             ajax.open(‘post‘,‘server1.php‘);
41         //因为是post请求所以必须加上setRequestHeader(get请求可以忽略)
42         ajax.setRequestHeader(‘Content-type‘,‘application/x-www-form-urlencoded‘);
43                //请求所带的参数 name=this.value
44         ajax.send(‘name=‘+this.value);
45                //绑定onreadystatechange事件
46         ajax.onreadystatechange=function(){
47                //判断如果请求的状态是否成功
48             if (ajax.readyState==4&&ajax.status==200) {
49               //根据返回值ajax.responseText操作dom元素更改div的背景图片
50 document.querySelector(‘.div1‘).style.background = ‘url(‘+ajax.responseText+‘) no-repeat center/cover‘;
51                 document.querySelector(‘.div2‘).innerHTML = ajax.responseText
52             };
53         }
54         }
55     };
56
57 </script>                                

浏览器端代码结束。

下面是服务端代码,服务端是用php写的简单几句

<?php
        //获取post请求的数据
    $key = $_POST[‘name‘];
    //关系数组
    $starArr = array(
        ‘baby‘=>‘images/baby.jpg‘,
        ‘hxm‘=>‘images/hxm.jpg‘,
        ‘lh‘=>‘images/lh.jpg‘
        );

    $value = $starArr[$key];
//返回图片地址
    echo $value;
 ?>

至此 一个简单的使用原生JavaScript写的异步请求 完成。

时间: 2024-10-05 20:05:13

使用原生JavaScript发送ajax请求的相关文章

原生javascript发送ajax请求及服务端处理

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><h

原生javaScript完成Ajax请求

使用原生javaScript完成Ajax请求,首先应该创建一个对象XMLHttprequest,考虑到兼容低版本IE浏览器,使用ActiveXObject对象,代码入下: var request; if(windoe.XMLHtprequest){ request=new XMLHttprequest(); }else{ request = new ActiveXObject(); } function success(text) { var textarea = document.getEle

原生JS发送Ajax请求

注意了,划重点了,这一题考不到算我输! 一.JS原生Ajax Ajax=异步Javascript+XML: ajax是一种数据请求的方式,不需要刷新整个页面.这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新. ajax的核心技术当然是XMLHttpRequest对象: ajax请求过程:创建XMLHttpRequest对象.连接服务器.发送请求.接受相应数据. 废话少说上代码! p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0p

原生JS发送Ajax请求、JSONP

一.JS原生Ajax Ajax=异步Javascript+XML: ajax是一种数据请求的方式,不需要刷新整个页面.这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新. ajax的核心技术当然是XMLHttpRequest对象: ajax请求过程:创建XMLHttpRequest对象.连接服务器.发送请求.接受相响应数据. 废话少说上代码! <script type="text/javascript"> //调用ajax函数 ajax({ url:'./Te

Javascript发送AJAX请求

一个对AJAX的封装 //url就是请求的地址 //successFunc就是一个请求返回成功之后的一个function,有一个参数,参数就是服务器返回的报文体 function ajax(url,successFunc) { var xhr = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP'); xhr.open("POST",url,true); xhr.onr

使用原生JS发送AJAX请求(XML,JSON解析)

mybutton.addEventListener('click', (e) => { let request = new XMLHttpRequest() request.onreadystatechange = () => { if(request.readyState === 4) { console.log('请求完毕') if(request.status >= 200 & request.status <= 300) { console.log('请求成功')

原生js和jquery发送ajax请求及封装

原生js                                   // ajax get 五部曲function ajax_get(url,data){ // 异步对象 var ajax=new XMLHttpRequest(); // 设置url和请求方式 // url方法 如果有数据要把数据拼接到url中?name=jack&age=20 if(data){ url+=?; url+=data; }else{}; ajax.open('get',url); // 发送请求 aja

原生 JavaScript 实现 AJAX、JSONP

相信大多数前端开发者在需要与后端进行数据交互时,为了方便快捷,都会选择JQuery中封装的AJAX方法,但是有些时候,我们只需要JQuery的AJAX请求方法,而其他的功能用到的很少,这显然是没必要的. 其实,原生JavaScript实现AJAX并不难,这篇文章将会讲解如何实现简单的AJAX,还有跨域请求JSONP! 一.AJAX AJAX的核心是XMLHttpRequest. 一个完整的AJAX请求一般包括以下步骤: 实例化XMLHttpRequest对象 连接服务器 发送请求 接收响应数据

原生JavaScript 封装ajax

原生JavaScript 封装ajax   function myajax(options){ //新建一个局部对象 用来存放用户输入的各种参数 var opt={ type:options.type||"get",//获取用户输入的传输方法,可选,不写为get data:options.data||"",//获取用户输入的数据 dataType:options.dataType||"",//获取用户输入的数据类型比如json 或者xml url