jQuery实现跨域请请求小案例

jQuery从1.2开始就支持XMLHttp跨域请求了,具体怎么操作?

jQuery中跨域访问的核心原理:JS文件注入,因为因为script标签的src属性是可以跨域的,利用script标签的src属性直接返回非本域名下的数据,具体采用的方式称为:jsonp。
代码:
    test.html,例如位于 www.qq.com
     <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html http://www.w3.org/1999/xhtml">http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>jQuery-跨域请求</title>
    <script type="text/javascript" src="/js/jquery.js"></script>
    </head>
     <script type="text/javascript">
    jQuery(document).ready(function(){
        $.ajax({
            type : "GET",
            url : "http://www.b.com/server.php&action=getmsg&callback=?",
           dataType : "jsonp",
           jsonp: ‘callback‘,
            success : function(json){
                $(‘#msg_box‘).html(json.msg);
                return true;
            }
        });
    });
    </script>
     <body>
    <div id="msg_box"></div>
    </body>
    </html>

server.php,例如位于www.baidu.com
    <?php
    $action = $_GET[‘action‘];
    $callback = $_GET[callback ];
    
    if ($action)
    {
        echo "{$callback}({"msg":"this is a jquery jsonp test message!"})";
        exit();
    }
    else
    {
        echo "{$callback}({"msg":"error action!"})";
        exit();
    }
    ?>

jQuery实现跨域请请求小案例

时间: 2024-11-08 10:30:21

jQuery实现跨域请请求小案例的相关文章

使用jquery实现跨域请求数据

首先处理服务器代码,使返回的数据符合特定的格式,为了方便这里使用了php test.php代码如下 1 <?php 2 $con = mysql_connect("localhost","root","root"); 3 mysql_select_db("test", $con); 4 5 $result = mysql_query("select username,password from user&quo

用JQuery的$.getJSON发起跨域Ajax请求

jQuery中常用getJSON来调用并获取远程的JSON字符串,将其转换为JSON对象,如果成功,则执行回调函数.原型如下: jQuery.getJSON( url, [data], [callback] )  跨域加载JSON数据.伊川县第二中学 url:     发送请求的地址 data : (可选) 待发送key/value参数 callback: (可选) 载入成功时的回调函数 主要用于客户端获取服务器JSON数据.简单示例: 服务器脚本,返回JSON数据: view source p

jquery ajax跨域请求webservice webconfig配置

jquery ajax跨域请求webservice web.config配置 <configuration> <system.web> <compilation debug="true" targetFramework="4.0" /> <webServices> <protocols> <add name="HttpGet"/> <add name="Htt

jquery Ajax跨域请求

这是jquery api文档对跨域请求的解析:如果获取的数据文件存放在远程服务器上(域名不同,也就是跨域获取数据),则需要使用JSONP类型.使用这种类型的话,会创建一个查询字符串参数 callback=? ,这个参数会加在请求的URL后面.服务器端应当在JSON数据前加上回调函数名,以便完成一个有效的JSONP请求.如果要指定回调函数的参数名来取代默认的callback,可以通过设置$.ajax()的jsonp参数. 我们通过demo来参悟上面的解析: $.ajax({ type: "get&

jquery跨域Ajax请求

sonp原理: 首先在客户端注册一个callback, 然后把callback的名字传给服务器. 此时,服务器先生成 json 数据.然后以 javascript 语法的方式,生成一个function , function 名字就是传递上来的参数 jsonp. 最后将 json 数据直接以入参的方式,放置到 function 中,这样就生成了一段 js 语法的文档,返回给客户端. 客户端浏览器,解析script标签,并执行返回的 javascript 文档,此时数据作为参数,传入到了客户端预先定

jquery Ajax 跨域请求( jsonp)

“Same-Origin Policy”(同源策略) JavaScript是一种在Web开发中经常使用的前端动态脚本技术.在JavaScript中,有一个很重要的安全性限制,被称为“Same-Origin Policy”(同源策略). 这一策略对于JavaScript代码能够访问的页面内容做了很重要的限制,即JavaScript只能访问与包含它的文档在同一域下的内容. 什么是跨域? 简单的来说,出于安全方面的考虑,页面中的JavaScript无法访问其他服务器上的数据,即“同源策略”.而跨域就是

NodeJ node.js Jquery Ajax 跨域请求

Jquery + Ajax 跨域请求 说白了就是前台请求ajax数据(JSON)但是请求的数据不在本地的绝对路径下,接口数据 是没有这个安全性的我对外公开的接口数据,只要你找到接口你就可以使用里面的数据 ,但是在浏览器端他做了一套机制就是 不让你随意的访问别人服务器的外来接口,如果是好的数据的化  你可以学习使用,如果是一些恶意数据,对服务器对个人来说都是没有安全性的,目前明白一点就是 阻止跨域请求就是 浏览器的原因,也算是ajax的原因,所以这个前台你是无能为力的. 解决办法: 服务器端进行权

Jquery Ajax 跨域调用asmx类型 WebService范例

摘要:Ajax 在 Web 2.0 时代起着非常重要的作用,然而有时因为同源策略(SOP)(俗称:跨域问题(cross domain)) 它的作用会受到限制.在本文中,将学习如何克服合作限制.本文以asmx方式搭建webservice作为测试用后端,给出完整的前后端调用解决方案.范例代码. 关键词: jquery ajax 跨域  webservice  asmx  cross-domain 0 问题分析 0.1 什么是跨域问题? 越来越多的网站需要相互协作.例如,在线房屋租赁网站需要谷歌地图的

【学亮IT手记】Ajax跨域问题精讲--jQuery解决跨域操作

什么是跨域 跨域,它是不同的域名(服务器)之间的相互的资源之间的访问. 当协议,域名,端口号任意一个不同,它们就是不同的域. 正常情况下,因为浏览器安全的问题,不同域之间的资源是不可以访问的. 跨域的解决方案 什么情况下会用到跨域? 一般情况,是在自己的内部的工程中会出现跨域的情况. 有三种解决方案: 1.服务器跨域(代理方案) 2.jsonp,<script>标签的开发策略. 3.XHR2,HTML5提供,一般是在移动开发中使用. jQuery解决跨域操作 在jquery中可以使用$.aja