[jQuery]Ajax实现跨域访问JSON
来源:互联网 发布:视频网站 python 编辑:程序博客网 时间:2024/05/21 18:40
Ajax跨域访问JSON
环境:.net4.0+jQuery+JSON.net
因为在跨域实现,所以这里新建网站,这个网站只需要Ashx文件
public void ProcessRequest(HttpContext context)
{
context.Response.Write(strJson);
}
然后在IIS中建立网站Web_DataSource,就是上边这个网站。
在vs中再建网站项目Web_Client,用于跨域访问Web_DataSource。
(一)
}
结果:会弹出提示窗口。
(二)
}
此时,跨域的Web_DataSource中的ashx文件数据提供要改一下:
public void ProcessRequest(HttpContext context)
{
string
context.Response.Write(callback+"("+strJson+")");
返回的数据的格式为:
?([{"id":"100009","name":"mayixue","link":"www.mayixue.com"},{"id":"100009","name":"mogujie","link":"www.mogujie.com"},{"id":"100009","name":"dazayuan","link":"www.dazayuan.com"}])
JSONP的最基本的原理是:动态添加一个标签,而script标签的src属性是没有跨域的限制的。这样说来,这种跨域方式其实与ajax XmlHttpRequest协议无关了.
这样其实"jQuery AJAX跨域问题"就成了个伪命题了,jquery $.ajax方法名有误导人之嫌.
如果设为dataType: 'jsonp',
JSONP是一个非官方的协议,它允许在服务器端集成Script tags返回至客户端,通过javascript callback的形式实现跨域访问JSONP即JSON with Padding。由于同源策略的限制,XmlHttpRequest只允许请求当前源(域名、协议、端口)的资源。如果要进行跨域请求,我们可以通过使用html的script标记来进行跨域请求,并在响应中返回要执行的script代码,其中可以直接使用JSON传递javascript对象。这种跨域的通讯方式称为JSONP。
jsonCallback
Jsonp原理:
首先在客户端注册一个callback (如:'jsoncallback'),
此时,服务器先生成
然后以
最后将
客户端浏览器,解析script标签,并执行返回的
传入到了客户端预先定义好的
可以说jsonp的方式原理上和是一致的(qq空间就是大量采用这种方式来实现跨域数据交换的) .JSONP是一种脚本注入(Script Injection)行为,所以也有一定的安全隐患.
- [jQuery]Ajax实现跨域访问JSON
- Ajax实现跨域访问JSON
- jquery实现ajax跨域访问
- jquery ajax实现跨域访问
- JQUERY 实现AJAX跨域获取json数据实例
- JQuery ajax跨域访问
- jquery Ajax跨域访问
- Jquery,ajax 跨域访问
- Jquery ajax 跨域访问
- jQuery+Ajax+jsonp+java实现跨域访问
- .NET+jQuery+JSON实现Ajax
- .NET+jQuery+JSON实现Ajax
- Jquery ajax 访问Servlet 处理 Json 数据
- Jquery ajax 访问Servlet 处理 Json 数据
- jquery ajax跨域解决方案(json方式)
- jquery ajax跨域解决方案(json方式)
- jquery ajax跨域解决方案(json方式)
- jquery的ajax跨域调用json
- Java多线程总结(三):Java四种常用线程池的使用和分析
- ifdef
- 数据库乐观锁
- java安装与配置
- Java异常(总结)
- [jQuery]Ajax实现跨域访问JSON
- 容斥原理
- 记录一个SmsManager发送短信的问题
- Android 教你一步步搭建MVP+Retrofit+RxJava网络请求框架
- 通过servletcontext读取WEB-INF下的配置文件
- leetcode--Same Tree
- poj2635The Embarrassed Cryptographer(同余模+素数筛选+高精度求模)
- AndroidStudio自动模拟器所有引入的文字都显示成资源id的解决办法
- java web文件下载功能实现