跨域问题及jQuery中Ajax传参的讲解
1.跨域:不再同一服务器下,就是协议,域名,端口,有一个不一样;
浏览器对于javascript的同源策略的限制;
案例:
以 http://172.164.23:8088/ 为例
相同域名:172.164.13 (也称为ip地址)
相同端口::8088 (端口);
相同协议:http
互联网的协议目前就两种 http和https
2.同源策略
请求的地址和浏览器的地址必须在同域下,就是说协议,端口,域名都得一样,否则就会报同源策略的错误;
access同源策略的报错;
浏览器的环境和服务器的环境,不再同一环境内;
解决跨域问题:
靠标签身上的src属性,解决跨域问题;
利用script标签的src属性去请求外部的数据,前提条件,别人让你跨域;
如何看别人提供的接口;
现在开头有没有wd,如果有再看里面有没有你搜的关键字,如果有,在看里面的cb,如果都有,就是接口
看网络地址的关键单词:cb(百度的接口) callback(360的接口);
1.自己提供接口的
写的顺序,先处理数据;(回调数据中的函数名)
在通过script中的src属性,去链接到自己的接口;(自己写的数据只用一个函数名包着,便于回调)
2.别人提供的接口:
写的顺序,先处理数据 (回调数据中的函数名)
在通过script中的src属性,去 链接到别人的接口;(并将cb后面别人的的函数名,改为自己要处理数据的函数名,便于回调)
3.dom创建的方式;
var script=document.createElement("script");
script.src="网络地址" (并将cb后面别人的的函数名,改为自己要处理数据的函数名,便于回调)
document.body.appendChild(script)
写函数处理数据 (cb后面的函数名)
jQuery中的Ajax
load() 将服务器加载数据,放在指定的元素中;
$("a").load() 参数一:url地址 参数二:{name:"cui"} 传入的数据
php中当不知道用get或post来接收数据的话,用REQUEST
使用情景:当一个网站有许多页面,但头部和尾部都以往,都可以使用load;
load是以post方式发送的php后台用post接受或以REQUEST接受;
php是一门后台语言,不能直接用浏览器打开
因为浏览器不是他的环境;
apache是php的环境,js的环境是node,我们用的phpstudy,这个集成的环境;
只需要把php文件放在apache中的根目录www文件就行了;
php语法规则:
每个语句后面一定要加;
输出语句echo
必须通过网络地址打开,浏览器是他的载体,不能用浏览器直接就打开了,通过网络地址才可以;
get/post 接受前台提供的参数
通过8088找到的都是后台的东西;
www根目录,提供一种相对路径;
www提供的相对空间,里面的文件都是相对访问,
需要什么在网络地址中输什么;
想要了解php,一定要先转换思维;
后台思维;
前台思维:加载网页从上到下逐个加载,一个dom一个dom的加载,要注意,link,script,img,iframe等带有href属性和src属性的标签,这些属性相当于Ajax,又去服务端去寻找对象的资源,
www的相对路径,很重要,不然所有的文件都是独立的个体;
IDE 继承的环境(俗称:编辑器)
php语法:
只要写php文件中都可以嵌套html标签,但是html标签里面不可以出现php写法
所有的php脚本都以<?php为开头 以?>结尾 中间写内容;
php的拓展名为 .php;
php中的每行代码写完之后一定要加分号,不然的话会报错;
php的输出语句为 echo和print;
php的注释 单行注释// 多行注释/* */
变量:
php中的变量靠$加变量名;
变量的命名规则:
1.不能用汉字
2.不能用数字
3.不能用特殊符号
4.区分大小写
驼峰命名法:nameAge
匈牙利命名法:_.name
案例:
$name="zhangsan";
echo $name;
要在服务器中打开;
php是弱类型语言;
变量声明,无需指定数据类型 (数据类型由赋予他的值来决定)
php中没有对象 就是{}这种写法
int a=12;(这就是强类型语言) 声明一个整型值为12;
作用域:
全局作用域:函数外定义的变量
局部:函数内定义的变量
正常环境下,不管全局或局部变量二者都不可以相互访问
全局的global关键字,用于函数内部访问全局变量;
函数内需要访问的全局变量,需要在变量前在global关键字
局部变量的优势,也是劣势:随着函数调用结果内存会被销毁
如果需要保存局部变量的内存不被销毁,变量前面在static关键字
php的数据类型:
string int(整形) float(浮点型) boolean array object null 7个
对象:
案例:
class dog{
$name="gougou";
function fn(){} 方法
}
$_GET 数组 前台的数据都存在数组中;
=> 键值对的意思
jQuery中数据传参
$.get("url",{name:"zhang"},function(data){
console.log(data)
})
$.post("url",{name:"lisi"},function(data){
console.log(data)
})
$.ajax({
type:"get",
url:"01.php",
async:true,
data:{name:"lisi"},
success:function(data){
console.log(data)
}
})
jQuery中Ajax的跨域问题
jsonp 跨域问题 回调函数的字符串;
jsonpcallback:跟的是cb后面的函数主要是自己写;
跨域问题及jQuery中Ajax传参的讲解的更多相关文章
- Ajax跨域原理及JQuery中的实现
浅析Ajax跨域原理及JQuery中的实现分析 AJAX 的出现使得网页可以通过在后台与服务器进行少量数据交换,实现网页的局部刷新.但是出于安全的考虑,ajax不允许跨域通信.如果尝试从不同的域请 ...
- 浅析Ajax跨域原理及JQuery中的实现分析
AJAX 的出现使得网页可以通过在后台与服务器进行少量数据交换,实现网页的局部刷新.但是出于安全的考虑,ajax不允许跨域通信.如果尝试从不同的域请求数据,就会出现错误.如果能控制数据驻留的远程服务器 ...
- ASP.NET 跨域请求之jQuery的ajax jsonp的使用解惑 (转载)
前天在项目中写的一个ajax jsonp的使用,出现了问题:可以成功获得请求结果,但没有执行success方法,直接执行了error方法提示错误——ajax jsonp之前并没有用过,对其的理解为跟普 ...
- 跨域请求之jQuery的ajax jsonp的使用解惑
前天在项目中写的一个ajax jsonp的使用,出现了问题:可以成功获得请求结果,但没有执行success方法,直接执行了error方法提示错误——ajax jsonp之前并没有用过,对其的理解为跟普 ...
- jquery中ajax处理跨域的三大方式
一.处理跨域的方式: 1.代理 2.XHR2 HTML5中提供的XMLHTTPREQUEST Level2(及XHR2)已经实现了跨域访问.但ie10以下不支持 只需要在服务端填上响应头: ? 1 2 ...
- jquery中ajax跨域加载
今天学习ajax跨域加载,先来一段代码,异步加载的链接是爱奇艺的开源,我直接拿来用作测试 <!DOCTYPE html> <html lang="en"> ...
- 关于Jquery中ajax方法data参数用法的总结
data 发送到服务器的数据.将自动转换为请求字符串格式.GET 请求中将附加在 URL 后.查看 processData 选项说明以禁止此自动转换.必须为 Key/Value 格式.如果为数组,jQ ...
- jQuery中$.ajax()详解(转)
JQuery中$.ajax()方法参数详解 url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get) ...
- Jquery中.ajax和.post详解
之前写过一篇<.NET MVC 异步提交和返回参数> ,里面有一些ajax的内容,但是不深入,这次详细剖析下jquery中$.ajax的用法. 首先,上代码: jquery-1.5.1 $ ...
随机推荐
- CentOS7.0防火墙以及开关机命令
CentOS 7.0默认使用的是firewall作为防火墙 查看防火墙状态firewall-cmd --state 停止firewallsystemctl stop firewalld.service ...
- C++学习(十一)(C语言部分)之 练习
/* 1.if 输入一个成绩 进行分级 输入一个数字 判断是否是水仙花数 比如 153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3 2.switch 提示 先对数字做处理 ...
- 【HDOJ1529】【差分约束+SPFA+二分】
http://acm.hdu.edu.cn/showproblem.php?pid=1529 Cashier Employment Time Limit: 2000/1000 MS (Java/Oth ...
- Python--subprocess系统命令模块-深入
当我们运行python的时候,我们都是在创建并运行一个进程.正如我们在Linux进程基础中介绍的那样,一个进程可以fork一个子进程,并让这个子进程exec另外一个程序.在Python中,我们通过标准 ...
- Go Example--关闭通道
package main import ( "fmt" ) func main() { jobs := make(chan int, 5) done := make(chan bo ...
- Go Example--if语句
package main import "fmt" func main() { //if else 条件都不需要括号,{}是需要的 if 7 % 2 == 0 { fmt.Prin ...
- Calendar类的使用——闰年的计算
1.Calendar类: 是一个抽象类,需要导入java.util.Calendar包. Calendar c = Calendar.getInstance(); getInstance直接返回的是子 ...
- MySQL 5.7--复制延迟监控
========================================== SHOW PROCESSLIST方式 为保证二进制日志在从库的执行时间和顺序的正确性,二进制日志中的每个语句都设置 ...
- Go语言实战 (William,Kennedy 等著)
第1章 关于Go语言的介绍 (已看) 1.1 用Go解决现代编程难题 1.1.1 开发速度 1.1.2 并发 1. goroutine 2. 通道 1.1.3 Go语言的类型系统 1. 类型简单 2. ...
- NonAction与ChildActionOnly
NonAction 表示它不是一个真正的Action,而是一个普通方法: ChildActionOnly 表示它只能在View中通过Html.Action或Html.RenderAction来使用