js跨域问题是指:js不同域进行数据传输或通信之间,让我们用ajax到不同的域请求数据。或js获得在不同领域的框架页(iframe)数据。只有到协议、域名、port无论是有不同的。它们被认为是不同的域。

js跨域参考:http://www.cnblogs.com/2050/p/3191744.html

能够通过jsonp实现js跨域,可是获取的数据必须是脚本文件,比如json。

以下介绍jquery.ajax方法

jQuery.ajax(url,[settings]);url是必填的。其它都是选填的。

经常使用格式:

$.ajax({

url:url,

type:"get",

dataType: "jsonp",

sucess:function(data){}

});

主要选项介绍:

1)type:请求方式 ("POST" 或 "GET"),默觉得GET;

2)dataType:


预期server返回的数据类型。假设不指定,jQuery将自己主动依据HTTP包MIME信息来智能推断,比方XML MIME类型就被识别为XML。在1.4中。JSON就会生成一个JavaScript对象,而script则会运行这个脚本。随后server端返回的数据会依据这个值解析后,传递给回调函数。可用值: 

"xml": 返回 XML 文档。可用 jQuery 处理。

"html": 返回纯文本 HTML 信息。包括的script标签会在插入dom时运行。

"script": 返回纯文本 JavaScript 代码。不会自己主动缓存结果。除非设置了"cache"參数。'''注意:'''在远程请求时(不在同一个域下)。全部POST请求都将转为GET请求。(由于将使用DOM的script标签来载入)

"json": 返回 JSON 数据 。

"jsonp": JSONP 格式。使用 JSONP 形式调用函数时。如 "myurl?callback=?" jQuery 将自己主动替换 ? 为正确的函数名,以运行回调函数。

"text": 返回纯文本字符串

3)async:(默认: true) 默认设置下。全部请求均为异步请求。



假设须要发送同步请求,请将此选项设置为false。

同步请求将锁住浏览器。用户其他操作必须等待请求完毕才干够运行。注意:用jsonp实现跨域。仅仅能使用异步提交,不管你是否设置async。參见:http://api.jquery.com/jQuery.ajax/

原文:Cross-domain requests and dataType: "jsonp" requests do not support synchronous operation. Note that synchronous requests may temporarily lock the browser, disabling any actions while the request is active.

4)data:发送到server的数据

data选项既能够包括一个查询字符串,比方 key1=value1&key2=value2 ,也能够是一个映射。比方 {key1: 'value1', key2: 'value2'} 。

假设使用了后者的形式,则数据会被转换成查询字符串。

5)jsonp:在一个jsonp请求中重写回调函数的名字。这个值用来替代在"callback=?"这样的GET或POST请求中URL參数里的"callback"部分,比方{jsonp:'onJsonPLoad'}会导致将"onJsonPLoad=?"传给server。

6)jsonpCallback:为jsonp请求指定一个回调函数名。这个值将用来代替jQuery自己主动生成的随机函数名。

这主要用来让jQuery生成度独特的函数名,这样管理请求更easy。也能方便地提供回调函数和错误处理。

你也能够在想让浏览器缓存GET请求的时候,指定这个回调函数名。

7)username和password选项

假设server须要HTTP认证。能够使用username与password能够通过username和password选项来设置。

8)success(data, textStatus, jqXHR):请求成功后的回调函数。

9)timeout:设置请求超时时间(毫秒)
。此设置将覆盖全局设置。

注意。当程序中须要发起多个AJAX请求时,则不用再为每个请求配置请求的參数,全部的选项都能够通过$.ajaxSetup()函数来全局设置。

举例:

$.ajaxSetup({
    timeout: 3000,
    dataType: 'html',
    //请求成功后触发
    success: function (data) { show.append('success invoke!' + data + '<br/>'); },
    //请求失败遇到异常触发
    error: function (xhr, status, e) { show.append('error invoke! status:' + status+'<br/>'); },
    //完毕请求后触发。即在success或error触发后触发
    complete: function (xhr, status) { show.append('complete invoke! status:' + status+'<br/>'); },
    //发送请求前触发
    beforeSend: function (xhr) {
    //能够设置自己定义标头
    xhr.setRequestHeader('Content-Type', 'application/xml;charset=utf-8');
    show.append('beforeSend invoke!' +'<br/>');
    },
  })

版权声明:本文博主原创文章,博客,未经同意不得转载。

ajax jsonp跨域的更多相关文章

  1. jQuery的ajax jsonp跨域请求

    了解:ajax.json.jsonp.“跨域”的关系 要弄清楚以上ajax.json.jsonp概念的关系,我觉得弄清楚ajax是“干什么的”,“怎么实现的”,“有什么问题”,“如果解决存在的问题”等 ...

  2. ajax jsonp跨域 【转】

    跨域的基本原理:    JSONP跨域GET请求是一个常用的解决方案,    JSONP的最基本的原理是:动态添加一个<script>标签,而script标签的src属性是没有跨域的限制的 ...

  3. jquery ajax jsonp跨域调用实例代码

    今天研究了AJAX使用JSONP进行跨域调用的方法,发现使用GET方式和POST方式都可以进行跨域调用,这里简单分享下,方便需要的朋友 客户端代码 复制代码 代码如下: <%@ Page Lan ...

  4. Ajax jsonp 跨域请求实例

    跨域请求 JSONP的缺点则是:它只支持GET请求而不支持POST等其它类型的HTTP请求:它只支持跨域HTTP请求这种情况,不能解决不同域的两个页面之间如何进行JavaScript调用的问题. $. ...

  5. JQuery+ajax+jsonp 跨域访问

    Jsonp(JSON with Padding)是资料格式 json 的一种“使用模式”,可以让网页从别的网域获取资料. 关于Jsonp更详细的资料请参考http://baike.baidu.com/ ...

  6. AJAX.JSONP 跨域

    var Request = {        timeout: 10 * 1000, // 10秒超时        status: 10,        statusenum: { Wait: 10 ...

  7. ajax jsonp跨域处理问题

    客户端 html $.ajax({ type : "get", async:false, dataType : "jsonp", jsonp: "js ...

  8. ajax jsonp 跨域请求

    $.ajax({ type:"get", url: "http://localhost/test/a.php", dataType: "jsonp&q ...

  9. 原生JS封装Ajax插件(同域&&jsonp跨域)

    抛出一个问题,其实所谓的熟悉原生JS,怎样的程度才是熟悉呢? 最近都在做原生JS熟悉的练习... 用原生Js封装了一个Ajax插件,引入一般的项目,传传数据,感觉还是可行的...简单说说思路,如有不正 ...

随机推荐

  1. HTTPS原理(转)

    HTTPS是什么 HTTPS全称为Hypertext Transfer Protocol over Secure Socket Layer,及以安全为目标的HTTP通道,简单说就是HTTP的安全版本. ...

  2. 10、ERP设计之系统基础管理(BS)- 平台化设计

    ShareERP 2013-09-03 ERP业务平台化是每个软件提供商必须要进行的趋势,传统定制化路线已死,不能走定制化的老路了.以往最大问的题是不能累积和沉淀技术及提升项目业务管理能力,其次是管理 ...

  3. HTML与XML关系分析

    本来这篇是为CSS准备的,但看到视频中CSS和HTML.XML都有关系,即,都是设置他们的样式.而XML和HTML的格式看着也有些类似,就不得不分析一下二者之间的关系了. 要想分析事物关系,要先弄清他 ...

  4. Xenu-web开发死链接检測工具应用

    Xenu 是一款深受业界好评,并被广泛使用的死链接检測工具. 时常检測站点并排除死链接,对站点的SEO 很重要,由于大量死链接存在会减少用户和搜索引擎对站点的信任,web程序开发者还可通过其找到死链接 ...

  5. Cocos2d-x发展---更改父的颜色、透明度的子节点上

    标题手段:当我们改变父节点或透明时的颜色.默认是不会影响孩子的节点. 作为交换组看到朋友说可以通过设置相关的参数变化的子节点来实现属性的效果,看了看源代码,记录下来:        引擎版本号为:2. ...

  6. MySQL 触发器例子(两张表同步增加和删除)

    以下两个例子来自:http://www.cnblogs.com/nicholas_f/archive/2009/09/22/1572050.html实测有效,但是原帖的分隔符不正确,因此稍作修改.其中 ...

  7. 视频编解码器,bbv 缓冲区溢出和下溢

    使用硬件相似数据处理.数据通常未来,形式的处理后,立即出动.所以,一般有一个数据馈送,数据输出,2接口. 实时硬件处理的基本要求.进来的数据,紧接着治疗头发治疗,这需要在很短的时间,好多毫秒以内,才干 ...

  8. windows phone (25) Canvas元素B

    原文:windows phone (25) Canvas元素B  ZIndex 这也是一个附加属性,表示canvas的children集合内的子元素的显示顺序,在canvas中的元素默认情况下是后面的 ...

  9. Windows Phone开发(48):不可或缺的本地数据库

    原文:Windows Phone开发(48):不可或缺的本地数据库 也许WP7的时候,是想着让云服务露两手,故似乎并不支持本地数据库,所有数据都上传上"云"数据库中.不过呢,在SD ...

  10. linux下多进程的调试

    linux下多进程的调试:  (1)follow-fork-mode           set follow-fork-mode [parent | child] ---- fork之后选择调试父进 ...