jquery中ajax跨域方法实例分析
本文实例分析了jquery中ajax跨域。分享给大家供大家参考,具体如下:
JSONP是一个非官方的协议,它允许在服务器端集成Script tags返回至客户端,通过javascript callback的形式实现跨域访问
方法一: jsonp之 getJSON
js
var url = "http://localhost/mytest/jsonp_php.php?callback=?"; $.getJSON(url, { "age": 21, "name": "kitty" }, function (data) { alert("name:" + data.name + ", age:" + data.age); });
php
<?php $age=$_GET["age"]; $name=$_GET["name"]; $jsondata = "{age:$age, name:'$name'}"; echo $_GET['callback'].'('.$jsondata.')'; ?>
二jsonp之$.ajax
js
$.ajax({ type: 'GET', url: 'http://localhost/mytest/jsonp_php.php', dataType: "jsonp", jsonp: "callback5", jsonpCallback:"flightHandler", data: { "age": 21, "name": "kitty" }, success: function (data) { alert("name:" + data.sd + ", age:" + data.aa) } })
php
<?php $age=$_GET["age"]; $name=$_GET["name"]; $ary=array("sd"=>"sdfg","aa"=>23); $jsondata=json_encode($ary); echo $_GET['callback5'].'('.$jsondata.')'; ?>
希望本文所述对大家jQuery程序设计有所帮助。
相关推荐
-
深入理解jquery跨域请求方法
项目中关于ajax jsonp的使用, 出现了问题:可以成功获得请求结果,但没有执行success方法 总算搞定了,记录一下 function TestAjax() { $.ajax({ type : "get", async : false, url : "ajaxHandler.ashx", //实际上访问时产生的地址为: ajax.ashx?callbackfun=jsonpCallback&id=10 data : {id : 10}, cache
-
jquery跨域请求示例分享(jquery发送ajax请求)
jQuery中常用getJSON来调用并获取远程的JSON字符串,将其转换为JSON对象,如果成功,则执行回调函数.原型如下: jQuery.getJSON( url, [data], [callback] ) 跨域加载JSON数据. url: 发送请求的地址data : (可选) 待发送key/value参数callback: (可选) 载入成功时的回调函数主要用于客户端获取服务器JSON数据.简单示例: 服务器脚本,返回JSON数据: 复制代码 代码如下: // $.getJSON.php$
-
利用JQuery和Servlet实现跨域提交请求示例分享
原理:JavaScript的Ajax不可以跨域,但是可以通过向本地的一个Servlet发出请求,由Servlet完成跨域.再把远程的结构返回给客户端.这样Ajax就可以跨域了.在后面,再发一个PHP版本的,请大家关注啊.下面是代码 JS代码: 注意:在Post方式时,param1和param2为向远程发送的参数值,可以有多个. 复制代码 代码如下: //GET方式function reqeustCrossDomainProxyGet(){ var url = "http://www.bai
-
JQuery 的跨域方法推荐_可跨任何网站
因发现有不少博友发园内短信问及JS的跨域问题,我想很多程序员的脑海里面还认为JS是不能跨域的,其实这是一个错误的观点:有很多人在网上找其解决方法,教其用IFRAME去解决的文章很多,真有那么复杂吗?其实很简单的,如果你用JQUERY,一个GETJSON方法就搞定了,而且是一行代码搞定. 下面开始贴出方法. //跨域(可跨所有域名) $.getJSON("http://user.hnce.com.cn/getregion.aspx?id=0&jsoncallback=?",fun
-
jquery的ajax跨域请求原理和示例
今天在项目中需要做远程数据加载并渲染页面,直到开发阶段才意识到ajax跨域请求的问题,隐约记得Jquery有提过一个ajax跨域请求的解决方式,于是即刻翻出Jquery的API出来研究,发 JQuery对于Ajax的跨域请求有两类解决方案,不过都是只支持get方式.分别是JQuery的 jquery.ajax jsonp格式和jquery.getScript方式. 什么是jsonp格式呢?API原文:如果获取的数据文件存放在远程服务器上(域名不同,也就是跨域获取数据),则需要使用jsonp类型.
-
java 结合jQuery实现跨域名获取数据的方法
一.什么是跨域? 由于浏览器出于安全的考虑,采取了同源策略的限制,使得jQuery无法直接跨域名互相操作对象或数据.例如:a.com 域名下的 a.html页面利用jQuery无法操作b.com 域名下b.html页面的对象或是数据, 并且默认情况下也不能操作test.a.com域名下的 test.html的 对象或是数据 .只要满足下面条件的jQuery都会视为跨域名: 1.主域相同,子域不同,如xxx.aaa.com和yyy.aaa.com 2.域名相同,端口不同,如xxx.aaa.com:
-
jQuery跨域问题解决方案
通过XMLHTTPRquest请求不同域上的数据,原来js跨域访问是后台有个处理路径"/test"的函数.下面把具体解决方案介绍如下. 后台处理路径"/test"的函数: 复制代码 代码如下: //路径处理 app.get("/test",user.test); //处理函数 exports.test=function(req,res){ res.end("alert('JS跨域访问')"); }; 外部有一个网页需要
-
jQuery 获取跨域XML(RSS)数据的相关总结分析
前段时间项目,需要前端JS获取跨域XML(RSS),最先打算使用jQuery.ajax方法获取,但是在ie9以下,提示"拒绝访问的" 略尴尬,网上查找了相关资料总结了以下几种方法: 一.google的jGFeed:相信很多同学对这个应该不陌生,使用也相对简单: 源码: (function($){ $.extend({ jGFeed : function(url, fnk, num, key){ // Make sure url to get is defined if(url == n
-
jquery+ajax实现跨域请求的方法
本文实例讲述了jquery+ajax实现跨域请求的方法.分享给大家供大家参考.具体实现方法如下: 说明:这里的dataType 为 "jsonp" :type 只能为 GET 前台请求代码如下: 复制代码 代码如下: $.ajax({ type: "GET", url: "http://www.xxx.com/Rest/ValidAccountsExists.aspx?accounts=admin", dataType: "j
-
jquery中ajax处理跨域的三大方式
由于JS同源策略的影响,因此js只能访问同域名下的文档.因此要实现跨域,一般有以下几个方法: 一.处理跨域的方式: 1.代理 2.XHR2 HTML5中提供的XMLHTTPREQUEST Level2(及XHR2)已经实现了跨域访问.但ie10以下不支持 只需要在服务端填上响应头: header("Access-Control-Allow-Origin:*"); /*星号表示所有的域都可以接受,*/ header("Access-Control-Allow-Methods:G
-
jQuery使用ajax跨域获取数据的简单实例
jQuery使用ajax跨域获取数据的简单实例 var webMethod = "http://localhost:54473/Service1.asmx/HelloWorld"; jQuery.support.cors = true; //之前没有加这句老是提示no transport,我没去深想. $.ajax ({ type: "POST", contentType: "application/x-www-form-urlencoded",
-
jQuery使用ajax跨域请求获取数据
跨域是我在日常面试中经常会问到的问题,这词在前端界出现的频率不低,主要原因还是由于安全限制(同源策略, 即JavaScript或Cookie只能访问同域下的内容),因为我们在日常的项目开发时会不可避免的需要进行跨域操作,所以跨域能力也算是前端工程师的基本功之一. var webMethod = "http://localhost:54473/Service1.asmx/HelloWorld"; jQuery.support.cors = true; //之前没有加这句老是提示no tr
随机推荐
- 一个可以更换windows xp or 2003的序列号的vbs脚本
- 用vbs实现本地连接禁用/启用脚本代码
- Java8之lambda表达式基本语法
- VIVO手机上del键无效OnKeyListener不响应的原因及解决方法
- java线性表的存储结构及其代码实现
- VS2017添加EF的MVC控制器报错的解决方法
- Javascript设计模式之观察者模式(推荐)
- Smarty中调用FCKeditor的方法
- asp中日期时间函数介绍
- Java 进制转换的方法
- JavaScript常用的弹出广告及背投广告实现方法
- EL表达式的隐式对象_动力节点Java学院整理
- vbs imail 密码解密
- C#入门之窗体的简单用法实例
- C语言简单实现求n阶勒让德多项式的方法
- 物联网常用协议的整理
- Angular实现表单验证功能
- jq.ajax+php+mysql实现关键字模糊查询(示例讲解)
- Ubuntu配置Vim及不同语法显示不同颜色操作步骤
- eclipse下配置Spring环境的方法步骤