ajax

作者: 嘿菠萝 | 来源:发表于2016-08-16 21:32 被阅读198次

问答

  • 1.ajax 是什么?有什么作用?
    AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),其实是我们去操纵XMLHttpRequest这么一个对象,向后台要数据,这个对象要完数据之后,页面不刷新,我们直接拿到这个数据,然后再进行一些展示或处理
  • 2.前后端开发联调需要注意哪些事情?后端接口完成前如何 mock 数据?(npm install -g server-mock)
  • 注意:
    1.确认接口文档的归属,由谁来撰写。
    2.确认接口的参数和返回值,还有接口名称。
    3.确认数据传输方式,是否需要中间站
    4.确认数据传输格式,JSON或XML等
    5.确认接口数据管理权6.接口信息变动告知方式
  • 如何 mock 数据:
    1.自己编写测试数据,但是要求较高操作麻烦,并且可能数据类型不够全面。
    2.使用mock.js,搭建本地服务器,使用后端语言编写简单的接口模拟数据来测试。
    3.借助server-mock,修改文件之后需要重启server-mock.
  • 3.点击按钮,使用 ajax 获取数据,如何在数据到来之前防止重复点击?
    在事件开始前设置一个状态锁,在事件开始前挂锁,事件结束后解锁,如果是重复点击则直接return掉,起到在数据到来之前防止重复点击的作用。


代码题

1.封装一个 ajax 函数,能通过如下方式调用

<pre>
function ajax(opts){
var xmlhttp=new XMLHttpRequest();

  xmlhttp.onreadystatechange=function(){
    if(xmlhttp.readyState==4&&xmlhttp.status==200){  
    var json=JSON.parse(xmlhttp.responseText);
    opts.success(json);
    }
    if(xmlhttp.readyState==4&&xmlhttp.status==404){
     opts.error();
    }
  }
 var dataStr='';
 for(var key in opts.data){
  dataStr+=key+'='+opts.data[key]+'&';
 }

  dataStr = dataStr.substr(0,dataStr.length-1);
  if(opts.type.toLowerCase()==='post'){
     xmlhttp.open(opts.type,opts.url,true);
     xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
     xmlhttp.send(dataStr);
  }
 if(opts.type.toLowerCase()==='get'){
     xmlhttp.open(opts.type,opts.url+'?'+dataStr,true);
     xmlhttp.send();
  }

}

document.querySelector('#btn').addEventListener('click', function(){
ajax({
    url: 'getData.php',   //接口地址
    type: 'get',               // 类型, post 或者 get,
    data: {
        username: 'xiaoming',
        password: 'abcd1234'
    },
    success: function(ret){
        console.log(ret);       // {status: 0}
    },
    error: function(){
       console.log('出错了')
    }
})

});

</pre>

版权归吴秀芳和饥人谷所有,若有转载,请注明来源

相关文章

  • AJAX

    主要内容: ajax 是什么、原生ajax 写法和jQuery ajax写法。 AJAX 是什么 ajax,即As...

  • JavaScript进阶知识点--AJAX及JSON

    AJAX 关于 AJAX 什么是 AJAX AJAX 的全称是 Asynchronous JavaScript a...

  • HTML5权威指南 | 第五部分 高级功能

    三十二、使用AJAX(上) Ajax起步: 使用Ajax事件: Ajax请求的错误处理: 中止Ajax请求: 三十...

  • ajax学习笔记

    Ajax学习笔记 Ajax简介 1. Ajax是什么? Ajax : Asynochronous javascri...

  • AJAX

    一、简介 AJAX菜鸟教程 什么是 AJAX ? AJAX = 异步 JavaScript 和 XML。 AJAX...

  • js之AJAX复习

    异步交互和同步交互 什么是Ajax? Ajax的工作原理。 Ajax包含的技术: Ajax的缺陷: Ajax的核心...

  • 复习jQuery - ajax

    jQuery ajax - ajax() 方法 $.ajax({ url:'oo.php', ...

  • jQuery中Ajax请求的使用和四个步骤示例

    ajax() 方法用于执行 AJAX(异步 HTTP)请求,所有的 jQuery AJAX 方法都使用 ajax(...

  • ajax

    1、什么是ajax? 2、ajax的原理 3、ajax的核心对象 4、ajax的优点: ajax的缺点: 被jqu...

  • ajax

    Ajax 1 - 请求纯文本 Ajax 2 - 请求JSON数据 Ajax 3 - 请求Github接口 Ajax...

网友评论

    本文标题:ajax

    本文链接:https://www.haomeiwen.com/subject/ujfysttx.html