跨域问题及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 $ ...
随机推荐
- mvc core2.1 Identity.EntityFramework Core 用户列表预览 删除 修改 (五)
用户列表预览 Controllers->AccountController.cs [HttpGet] public IActionResult Index() { return View(_us ...
- vue的理解
vue提供的MVVM框架模式的数据双向绑定,实现了HTML和js的代码分离,提高代码的维护性 vue.js的核心思想包括:数据驱动和组件化思想. 如果没有中间的ViewModel则关系图编程下面所示: ...
- hdu4705 Y 树形DP
给出一颗数,求没有一条路径穿过的节点三元集合个数. 这样的三元集合呈现Y字形,求出反面情况,三点为子节点和两个祖先节点,或一个祖先节点与它子树中非父子关系的节点.可由树形DP求得. #pragma c ...
- LeetCode – Number of Islands II
A 2d grid map of m rows and n columns is initially filled with water. We may perform an addLand oper ...
- linux 文件管理操作入门
mkdir -p /root/kali/bp/shell 一路创建文件夹直到生成文件夹shell,中间没有kali文件夹的话也会自动创建生成 tar解压缩 范例一:将整个 /etc 目录下的文件全部 ...
- bash常识
文章目录 比较是否相等 = 字符串操作 字符串变量的截取操作 字符串替换 字符串比较 取长度 查找子串的位置 选取子串 fork, exec, source fork exec source 补充 其 ...
- 重写( override)and 重载(overload)
重写override:是子类对父类的允许访问的方法的实现过程的重新编写,名字,返回值和形参都不能改变,即外壳不变,内心更改 重载overload:同一个类里面的方法,名字相同而参数不同,返回值可以相同 ...
- 关于 php 和 python 的浮点计算 0.1+0.2
关于 php 和 python 的浮点计算 0.1+0.2 看到群里有小伙伴说为什么 python 计算出 0.1+0.2 是 0.30000000000000004 >>> pri ...
- 论 微服务 和 Entity Framework 对 数据 的 割裂
微服务 的 本质 是 面向对象, 微服务 是 面向对象 对 数据中心 发起的挑战, 在 微服务 架构下, “数据为中心” 的 传统架构 被 严重 割裂, 微服务 的 先天矛盾, 是 对象 和 数据 的 ...
- mysql之 myloader原理介绍
myloader恢复主要流程 1.首先由myloader主线程完成建库建表,依次将备份目录下建库和建表文件执行应用到目标数据库实例中: 2.接着myloader主线程会生成多个工作线程,由这些 ...