跨域问题及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 $ ...
随机推荐
- manjaro运行virtualbox报错
manjaro运行virtualbox报错manjaro使用添加删除程序搜索virtualbox安装后运行报错, 安装过程有选择modules的过程(这里要选择匹配当前系统内核的版本),当时不了解是干 ...
- 实验吧—Web——WP之 猫抓老鼠
打开解题链接后,发现他是让我们输入key提交查询就能进行下一步 题目中提示了:catch(抓的意思) 那么我们很容易就能想到是BP抓包,抓包后直接放到repeater中改包. 我们先GO一下看看有什么 ...
- Js 模式匹配
模式匹配: 什么是模式匹配:可以设置查找或替换的规则! 何时使用模式匹配:要查找的关键字可能发生有规律的变化. 如何使用模式匹配: 1.先定义模式:/关键字/模式 比如:var reg=/no/i; ...
- Vue.js系列之项目搭建
项目搭建具体步骤如下: 1.安装node (中)https://nodejs.org/zh-cn/ (英)https://nodejs.org/en/ 2.安装cnpm镜像 (node自带安装了npm ...
- Eclipse使用Maven时出现:Index downloads are disabled, search results may be incomplete.问题解决
https://www.cnblogs.com/EasonJim/p/6674099.html 1.全局设置 [Windows]->[Preferences]->[Maven]->勾 ...
- MySQL Innodb Engine -- 文件格式(innodb_file_format)
======================================================== 在InnoDB 1.0.x版本之前,InnoDB 存储引擎提供了 Compact 和 ...
- 原码,反码与补码的概念以及Java中数的存储方式
*原码,反码,补码必须满8位,不足在前填0: 1,原码:用符号位和数值位表示一个带符号的数 + -> 0 - -> 1 表示数的范围-127~ ...
- Hibernate更新删除数据后,再查询数据依然存在的解决办法
删除数据后,重新查询了数据库,DB中记录已经删除了,但是数据依然能查询到,网上都说是Hibernate的缓冲问题. 我对session进行了clear,flush,并且在事务和查询中都对session ...
- py-day1-6 python 5个灰魔法 【len,index索引,for循环,切片】
# 索引,下标,获取字符串中的某一个字符. test = 'MuMingJun' v = test[3] print(v) i # 切片 test = 'MuMingJun' v = test[0:- ...
- redis 如何查看所有的key
可以使用KEYS 命令 KEYS pattern 例如, 列出所有的key redis> keys * 列出匹配的key redis>keys apple* 1) apple1 2) ap ...