当前位置: 首页 > article >正文

Ajax(js)2018-8-7

js中ajax(ei zhei ks)的request和response   与java servlet的request,response不一样,但又很像

js中的用var  request =new XMLHttpRequest();就是提交表单数据的,可以请求或发送少量一部分数据,不用整个页面。

它使用SOAP或其它一些基于XML的web service接口

ajax也可以用于表单验证

ajax 主要是用了XMLHttpRequest对象实现了异步,ie6,5则是用ActiveXObject("Microsoft.XMLHTTP");

http是无状态的通信规则,状态码,响应头,响应体

request.open("get",service.php?number="");
request.send();向一个页面传送数据,然后判断状态码,看是否请求完成

request.onreadystatechange=function(){
if(request.readyState===4){
if(request.status===2000){

然后获取响应的数据request.responseText;

js 中get方法是直接把参数?放在url中传给一个页面,是查询,而post是把参数request.send(date),是保存数据;

在open和send之间一定要有request。setRequestHeader("Content-Type","application/x-www-form-urlencoded");发送表单数据

xhr.setRequestHeader("Content-type","application/json; charset=utf-8");发送json数据

不指定Content-type时,此是默认值值,xhr.setRequestHeader("Content-type", "text/plain; charset=utf-8");纯文本

xhr.setRequestHeader("Content-type", "text/html; charset=utf-8");html文本

json 是独立语言的,任何语言都可以用它

json值可以是数字,字符串,逻辑值boolean,数组[],对象{},null

{

"staff":[

{"name":"jjj",age:13},

{       }

]

}

解析json(eval方式),var jsonobj=eval('('+jsondata+')');alert(jsonobj.staff[0].name);该方式不光解析,还执行字符串的方法,如alert(‘jj’);

JSON.parse(jsondate);第二种方式;该方式会检测出alert不合法

JSONLint   json格式校验工具;

{”success":true,   //是否请求成功

"msg":"xxx",        //请求错误返回的信息

"date":"xxx"    //请求成功返回的数据

}

Jquery (ajax)

$(document).ready(function(){}相比onload不需等图片啊之类的加载出来,DOM结构绘制完毕后就执行,而且可以多次加载

可以简写$(function(){});但有时候,需要点击某个图片还没加载出来,会出现意外情况,此时,就得$(window).load(function(){

带$都是jquery方法

.click(function(){

$.ajax({

type:"GET",

url:"service.php?number="+$("#keyword").val(),

dataType:"json",

success:function(data//即request.responseText){if(data.success){}},

error:function(jqXHR){alert(jqXHR.status}

});

在jquery中是html();js是innerHTML();传参数是设置,不传参数是获取;

http://    www   .    baidu.com    :      8080   /   scripts/jquery.js

协议     子域名     主域名                  端口号     请求资源地址

端口号后面不同不影响,是同域,端口号不同就是跨域了。这个网址请求另一个端口号不同的网址就叫跨域请求

localhost和127.0.0.1之间也叫跨域,js不允许跨域前端请求后端资源;

代理处理跨域,北京的在后端代理请求上海的,然后在返回给北京的前端;

jsonp处理跨域(支持get,不支持post):定义两个<script src="本地“ >  <script src="http://www.bb.com.jsonp.js">在同一页面就可以了,

dataType:“jsonp",改一下,加一个jsonp:"callback",然后在后台get”callback“

h5提供的XHR2(IE10以下不支持)

在服务端加header('Access-Control-Allow-Origin:要访问的域名’);

header('Access-Control-Allow-Methods:Post,Get');

IE自己实现跨域的方式:

也是添一些代码

http://www.lryc.cn/news/2419991.html

相关文章:

  • 最后一个稳定版本?iOS14.8正式版推送
  • Oracle 11g 详细安装教程 Windows版
  • 最优化方法复习——线性规划之单纯性法
  • PyTorch 1.7 Video 初体验(Video Datasets,Video IO,Video Classification Models,Video Transform)
  • Transformer + SD解析与实战——Datawhale AI视频生成学习2
  • linux ftp 配额 quota,linux – vsftpd中的配额?
  • Microsoft Visual C++ Runtime Library Runtime Error的解决的方法
  • HTML基础知识,全是干货
  • CentOS7 Nginx配置ssl证书实现https安全访问
  • 门诊软件(集药房管理、划价收费、电子病历、电子处方、诊疗卡、财务为一体)
  • 9、include 文件包含
  • pci-e串口卡linux 驱动下载,PCI/PCIe串口卡并口卡驱动
  • HMM(隐马尔可夫)中文分词
  • 白嫖云开发?这羊毛不薅?
  • 下载并安装WIN7 SP2的官方补丁包
  • 洛谷入门——P1179 [NOIP2010 普及组] 数字统计
  • Android BroadcastReceiver
  • 工业大数据:制造业中的优化策略
  • asp毕业设计——基于asp+access的公司门户网站设计与实现(毕业论文+程序源码)——公司门户网站
  • 做网站的流程与步骤
  • 信管家博易大师、智星、易盛等都是证券交易软件,它们的区别主要在以下几个方面
  • 计算机考试重点题目与答案
  • 什么是CGI文件
  • Python Selenium搭建UI自动化测试框架_python ui自动化框架(1)
  • 小RNA的测序技术路线以及分析流程
  • Gabor滤波器
  • 数据结构 - 向量简单介绍
  • 从零开始搭建个人博客(保姆级教程)
  • 网络:DHCP 协议简介
  • 阿里巴巴国际站商品信息搜索采集API接口说明文档(含请求示例)