jq-跨域请求
2015-08-01 01:23
686 查看
在使用的时候,常用的是跨域请求:
跨域问题解决方案:
1.使用script标签,及json数据需要赋值给变量
e.g : <script type="text/javascript" src="http://169.254.4.210/dish.json"></script>
e.g : var json={"Id":2,"name":"豆角炒肉"};
2.使用ajax请求
jquery 的跨域请求
注意: 1) 设置datatype为jsonp ,jsonp 为callback,其次为callback设置返回函数
2)这里的callback函数名是已经存在的解析函数,例如go,这个存在,
则下面的success方法不会执行。
3) 最后是json数据封装的时候,必须用函数名称来封装,例如下面列子中
3.第三种方式是 动态的添加 script 标签。
调用:1)直接调用,调用后 延迟解析,因为创建后需要加载(不推荐),
json数据封装为第一种格式; e.g :
2)直接调用 ,在url里添加callback函数名,使用方便,需要声明
解析函数,数据封装格式为第2种方式
跨域问题解决方案:
1.使用script标签,及json数据需要赋值给变量
e.g : <script type="text/javascript" src="http://169.254.4.210/dish.json"></script>
e.g : var json={"Id":2,"name":"豆角炒肉"};
2.使用ajax请求
jquery 的跨域请求
注意: 1) 设置datatype为jsonp ,jsonp 为callback,其次为callback设置返回函数
2)这里的callback函数名是已经存在的解析函数,例如go,这个存在,
则下面的success方法不会执行。
3) 最后是json数据封装的时候,必须用函数名称来封装,例如下面列子中
e.g : json数据封装格式:go({"Id":2,"name":"豆角炒肉"}); function go(json){ console.log(json.length); for(var j=0;j<json.length;j++){ console.log(json[j].context); } } $(function(){ console.log('jquery 执行了'); $.ajax({ type:"get", async:false, url:'http://169.254.4.210/dish.json', dataType:"jsonp", jsonp:'callback', callback:'go', success:function(data){ } }); });
3.第三种方式是 动态的添加 script 标签。
e.g :封装创建script的函数 function getJson(url){ var script=document.createElement('script'); script.type='text/javascript'; script.src=url; document.head.appendChild(script); }
调用:1)直接调用,调用后 延迟解析,因为创建后需要加载(不推荐),
json数据封装为第一种格式; e.g :
getJson('http://169.254.4.210/dish.json'); setTimeout(function(){ for(var j=0;j<json.length;j++){ console.log(json[j].name); } },2000);
2)直接调用 ,在url里添加callback函数名,使用方便,需要声明
解析函数,数据封装格式为第2种方式
function go(json){ console.log(json.length); for(var j=0;j<json.length;j++){ console.log(json[j].context); } }
相关文章推荐
- JQuery1——基础($对象,选择器,对象转换)
- Android学习笔记(二九):嵌入浏览器
- Android java 与 javascript互访(相互调用)的方法例子
- JavaScript演示排序算法
- javascript实现10进制转为N进制数
- 2019年开发人员应该学习的8个JavaScript框架
- Patrol 7 架构下?的处理方法
- HTML中的script标签研究
- 异步流程控制:7 行代码学会 co 模块
- JavaScript拆分字符串时产生空字符的原因
- IE8开发人员工具教程(二)
- 中病毒后常用的解决方法病毒终极解决方案
- 在flex中执行一个javascript方法的简单方式
- Flex结合JavaScript读取本地路径的方法
- PowerShell中执行Javascript的方法示例
- javascript asp教程第六课-- response方法
- javascript asp教程More About Recordsets
- javascript asp教程第十二课---session对象
- javascript asp教程创建数据库连接