目录

ajax是什么

作用:不必重新加载整个页面,更新部分页面内容。

大概使用过程:通过后台提供的数据接口,ajax获取数据,动态修改视图层。

原生ajax

将ajax请求封装成一个函数,可以传参,选择请求类型,以及成功后的回调函数。

/*
url: 请求地址,
data: 请求参数,
method: 请求类型,
success: 请求成功后的回调函数
*/
function ajax_method(url, data, method, success){
var ajax;
if (window.XMLHttpRequest) {
// IE7+, Firefox, Chrome, Opera, Safari
ajax = new new XMLHttpRequest();
}else {
// IE6, IE5
ajax = new ActiveXObject("Microsoft.XMLHTTP");
} if (method == "get") {
if (data) {
// 有数据
url += ("?"+data);
}
ajax.open(method, url);
ajax.send();
}else{
// post
ajax.open(method, url);
// post请求要加上的请求头
ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
if (data) {
ajax.send(data);
}else{
ajax.send();
}
} ajax.onreadystatechange = function(){
console.log("可以1");
// 0: 请求未初始化
// 1: 服务器连接已建立
// 2: 请求已接收
// 3: 请求处理中
// 4: 请求已完成,且响应已就绪 // 200: 请求处理成功
// 404: 未找到页面
if (ajax.readyState == 4 && ajax.status == 200) {
console.log("请求成功");
success(ajax.responseText);
}else{
console.log("请求失败");
}
}
}

调用:

ajax_method("./test.php", {"param1": "val1"}, "post", function(data){
console("请求拿到的数据:",data);
// 之后将拿到的数据渲染视图层
})

jquery ajax

使用jqury,可以便捷的发送ajax请求,需要引入juery.js

$.ajax({
url: "./test.php",
method: "post",
dataType: "json", // 服务器返回数据类型
data: {
"param1": "val1", // 请求参数
},
success: function(data){
console("请求拿到的数据:",data);
// 之后将拿到的数据渲染视图层
},
error: function(){
alert('请求失败');
}
});

ajax跨域

为什么有跨域问题?

“同源策略限制了从同一个源加载的文档或脚本如何与来自另一个源的资源进行交互。这是一个用于隔离潜在恶意文件的重要安全机制。”

同源:相同协议,域名,端口号。

所以当ajax请求的地址,存在协议,域名,端口号不同时,则存在跨域问题,浏览器会报错。

解决跨域的方法,可以看下一篇文章。

jsonp —— javascript

ajax异步 —— javascript的更多相关文章

  1. Ajax异步验证登陆或者注册

    首先介绍一个不错的学习Ajax的中文网站:http://www.w3school.com.cn/ajax/index.asp AJAX = 异步 JavaScript 和 XML.详细介绍见上面的网址 ...

  2. Scrapy爬虫框架教程(四)-- 抓取AJAX异步加载网页

    欢迎关注博主主页,学习python视频资源,还有大量免费python经典文章 sklearn实战-乳腺癌细胞数据挖掘 https://study.163.com/course/introduction ...

  3. How to make an HTTP request 异步 JavaScript 和 XML

    https://developer.mozilla.org/en-US/docs/AJAX/Getting_Started In order to make an HTTP request to th ...

  4. js(三) ajax异步局部刷新技术底层代码实现

    ajax 异步 javaScript and xml 开发五步骤: 1. 创建对象 XMLHttpRequest(chrome,firefox) ie... jquery 2. 找到连接, http的 ...

  5. 【JavaScript】AJAX总结(异步JavaScript和XML)

    AJAX介绍 通过 AJAX,你可以创建更好.更快以及更友好的 WEB 应用程序. AJAX 基于 JavaScript 和 JavaScript的XMLHttpRequest对象. AJAX 应用程 ...

  6. [转] 为什么javascript是单线程的却能让AJAX异步调用?

    为什么JavaScript是单线程的却能让AJAX异步发送和回调请求,还有setTimeout也看起来像是多线程的? function foo() { console.log( 'first' ); ...

  7. ajax异步请求

    做前端开发的朋友对于ajax异步更新一定印象深刻,作为刚入坑的小白,今天就和大家一起聊聊关于ajax异步请求的那点事.既然是ajax就少不了jQuery的知识,推荐大家访问www.w3school.c ...

  8. ASP.NET知识总结(8.AJAX异步)

    AJAX:”Asynchronous JavaScript and XML” 中文意思:异步JavaScript和XML. 指一种创建交互式网页应用的网页开发技术.   不是指一种单一的技术,而是有机 ...

  9. 淘宝购物车页面 智能搜索框Ajax异步加载数据

    如果有朋友对本篇文章的一些知识点不了解的话,可以先阅读此篇文章.在这篇文章中,我大概介绍了一下构建淘宝购物车页面需要的基础知识. 这篇文章主要探讨的是智能搜索框Ajax异步加载数据.jQuery的社区 ...

随机推荐

  1. C++入门经典-例5.2-使用指针比较两个数的大小

    1:代码如下: // 5.2.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> using ...

  2. 20175212童皓桢 实验三敏捷开发与XP实践实验报告

    20175212童皓桢 实验三敏捷开发与XP实践实验报告 实验内容 XP基础 XP核心实践 相关工具 实验步骤 一.Code菜单功能的研究 Move Line/statement Down/Up:将某 ...

  3. 【转】Java操作CSV文件导入导出

    特别提示:本人博客部分有参考网络其他博客,但均是本人亲手编写过并验证通过.如发现博客有错误,请及时提出以免误导其他人,谢谢!欢迎转载,但记得标明文章出处:http://www.cnblogs.com/ ...

  4. 【Spark机器学习速成宝典】模型篇06随机森林【Random Forests】(Python版)

    目录 随机森林原理 随机森林代码(Spark Python) 随机森林原理 参考:http://www.cnblogs.com/itmorn/p/8269334.html 返回目录 随机森林代码(Sp ...

  5. Note: Bigtable, A Distributed Storage System for Structured Data

    Abstract Introduction::  Bigtable设计主旨:可扩地扩展到pByte级别和数千台机器的系统, 通用.可伸缩.高性能.高可用性.  不实现完整的关系数据模型,而是支持一个可 ...

  6. linux添加新用户

    使用root用户adduser yj 后面操作有提示 用这种方法新建的用户会在home下生成用户文件夹

  7. latexdiff中的大坑:字符编码问题

    最近用latex写文章,要用到修订模式,于是采用latexdiff命令生成修订版pdf.这原本是一个非常简单方便的方法,却隐藏着字符编码的问题,初次用可能会遇到意想不到的问题,让人很烦,比如,生成出来 ...

  8. 如何解决错误【selenium.common.exceptions.SessionNotCreatedException】

    如何解决错误[selenium.common.exceptions.SessionNotCreatedException]   [问题起因] 2018年12月26日晚,启动我的pycharm准备学习s ...

  9. [Flask]jinja2模板-宏的使用

    定义宏: macros.html <!DOCTYPE html> <html lang="en"> <head> <meta charse ...

  10. Selenium 2自动化测试实战7(定位元素)

    一.xpath定位 1. 绝对定位 举例用百度输入框和搜索按钮 eg:find_element_by_xpath("/html/body/div/div[2]/div/div/div/fro ...