跨域问题及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 $ ...
随机推荐
- ACM-ICPC 2018 北京赛区网络预赛(9.22)
#include<bits/stdc++.h> using namespace std; ; *maxn]; *maxn]; *maxn]; int main() { int T; sca ...
- 【mybatis源码学习】调试mybatis的第一个程序
[一].基础知识准备 mybatis-config.xml配置文件的结构 MyBatis配置文件中大标签configuration下子标签包括: configuration |--- properti ...
- 每天进步一点点-写完睡觉-周一工作(java基本数据类型所占的字节和IO流读取的字符和字节)
- mac 终端光标在单词之间移动
https://ruby-china.org/topics/1241#reply16 you can use : option + b / f not ctrl + <- / ->
- jenkins安装教程
首先部署java环境 然后部署tomacat(部署之后无需开启tomcat服务) sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenk ...
- 下载并安装oracle 11g客户端
之所以一直没安装成功是因为找不到安装程序,找到的那些要么没有安装程序,要么安装时出错或者安装后用不了,反正一大堆问题 先给个oracle客户端的下载链接 https://pan.baidu.com/s ...
- SpringJDBC——jdbcTemplate模板
一.定义 Spring框架对jdbc进行了封装,提供的一个JDBCTemplated对象简化jdbc开发. 使用步骤 1 导包spring-beans-5.0.0-RELEASE.jar,spring ...
- drone 1.0 docker-compose 运行试用
drone 1.0 已经rc了,新的界面以及新的功能 github 客户端创建 docker-compose 文件 version: '3' services: drone-server: image ...
- 03关于C的数组指针
一.数组与指针有什么关系 (1)地址 数组名就是一个地址,指向一个数组的开端. 从实验结果我们可以看出前三个地址都是一样的,都是数组的开始地址,而最后一个是数组的第二个元素,因为是整型数据,地址加4. ...
- c# 数据类型可在在最后的带一个字母
folat的后面要带F或者f: double的后面要带D或者d: decimal的后面要带M或者m: long的后面要带L或者l: