最近在做项目的时候遇到一个问题,就是跨域请求ajax的时候ie9以下的浏览器不可以访问,直接执行error里面的代码,但是也不报错,就上网查了查,发现了一个很好用的方法,在这里记录一下,也希望可以帮到大家. 第一步:设置浏览器安全属性,启用[通过域访问数据源]选项: 1.选择Internet选项 2.选择安全---自定义级别 3.找到其他---通过域访问数据源,选择启用,然后确定就可以了. 第二步:调用ajax方法时,设置crossDomain为相反的值.原文链接:https://bugs.jq…
最近做的一个项目,原先没有要求兼容IE9以下,所以在写代码的时候也没有打开IE9以下去测试,这两天要去做IE9以下的兼容,在IE9以下打开本地的项目发现数据请求不成功,而通过发布道服务器上的链接打开是正常的,所以毫无疑问这是跨域请求的问题. 上网参考别人的解决方法,亲测下面这种方法是有效的: 1. 设置浏览器安全属性,启用[通过域访问数据源]选项,如图: 2. 设置crossDomain为相反的值 $.ajax({ type: "post", url: BASE_URL, data:…
1. 设置浏览器安全属性,启用[通过域访问数据源]选项,如图:…
Jsonp(JSON with Padding)是资料格式 json 的一种“使用模式”,可以让网页从别的网域获取资料. 关于Jsonp更详细的资料请参考http://baike.baidu.com/view/2131174.htm,下面给出例子: 一.客户端 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"…
ajax跨域访问是一个老生畅谈的问题啦,网上解决方法很多,discuz用的p3p协议,有兴趣的朋友可以了解下,比较常用的是JSONP方法,貌似目前这种方法只支持GET方式,不如POST方式安全. 即使使用jquery的jsonp方法,type设为POST,也会自动变为GET.还有一种方式:如果跨域使用POST方式,可以使用创建一个隐藏的iframe来实现,与ajax上传图片原理一样,但这样感觉会比较麻烦. 因此,通过设置Access-Control-Allow-Origin来实现跨域访问比较简单…
Jquery Ajax进行跨域时需要使用JSONP,但JSONP格式和JSON格式是有区别的,如果直接返回JSON格式就会报错 首先将原有的Jquery代码中的dataType改成“jsonp”,具体代码如下:$.ajax({    url: "http://ajax.yoursite.com/api.php",    async: false,    dataType: "jsonp",    jsonp: "callback",    suc…
今天研究了AJAX使用JSONP进行跨域调用的方法,发现使用GET方式和POST方式都可以进行跨域调用,这里简单分享下,方便需要的朋友 客户端代码 复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApp.WebForm1" %><!DOCTYPE html P…
一.使用jsonp实现跨域请求 在前端开发这中你会发现,所有带src属性的标签都可以跨域访问其他服务器文件.jsonp实现的原理也是如此. 以jsonp的数据类型进行请求时,JQ会动态在页面中添加script标签,将请求内容放置到src中. jsonp类型请求数据时,无法使用post方式(你会发现,在JQ中即使你将type设置为POST方式,JQ也会将其转换为get方式请求). jsonp方式请求不支持修改头部信息参数.服务器端数据返回也需要做相应的处理,返回的数据必须是一个JS代码.Jsonp…
前言 同源策略的限制,使得ajax无法发出跨域请求.在许多情况下,我们需要让ajax支持跨域.以下是其中一种解决方案(JSONP).JSONP解决了跨域数据访问的问题. 在html中,具有src属性的标签支持跨域,例如<script>.<img>. 其中,<script>特别适合解决ajax跨域问题.首先当我们通过src引入js文件时,便会对其中的js代码进行执行.我们知道json是文本,js也是文本,那我们就把json伪装成js.也就是将请求地址放入到<scri…
调程序时遇到"已拦截跨源请求:同源策略禁止读取位于--的远程资源",这是因为通过ajax调用其他域的接口会有跨域问题. 解决方法如下: 方法一:服务器端(PHP)设置header头,实现跨域访问 示例: // PHP <?php header('Access-Control-Allow-Origin:*'); $name = $_POST['username']; $address = $_POST['address']; # code... echo json_encode(a…