url地址跨域问题

url地址跨域:当前url地址的域名与要跳转的url地址中的域名不一样

如果使用以下的ajax,请求参数类型设置为contentType:"appliaction/xml;charset=utf-8",请求类型设置为type: "POST"

<script type="text/javascript">
            $(function(){
                $(".submit").click(function(){
                    var xmlDocument = ‘<xml><a>123</a><b>123</b></xml>‘;
                     $.ajax({
                       type: "POST",
                       url:"url",           
                       contentType:"appliaction/xml;charset=utf-8",
                       data: xmlDocument,
                       dataType:"xml",
                       success:function(data){
                                    if (data.xml) {
                                        //IE
                                        alert(data.xml);
                                    }
                                    else {
                                        //火狐
                                        var oSerializer = new XMLSerializer();
                                        alert(oSerializer.serializeToString(data));
                                    }
                                 },
                       error: function(e) {
                                alert(e);
                                }
                     });
                });
            });
        </script>

请求正文为:

Host: localhost:8080
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Access-Control-Request-Method: POST
Access-Control-Request-Headers: content-type
origin: null
Connection: keep-alive

其中,

Access-Control-Request-Method: POST
Access-Control-Request-Headers: content-type

两项会自动加上,并且请求方式改为OPTION,请求的参数会忽略

这两项是用于提醒服务器在接下来的请求中将会使用什么样的方法来发起请求

结论:当url跨域时,第一次请求会自动改为OPTION方式的请求用于探测后续真正需要发起的跨域 POST 请求对于服务器来说是否是安全可接受的,因为跨域提交数据对于服务器来说可能存在很大的安全问题。

时间: 2024-10-13 00:42:30

url地址跨域问题的相关文章

URL资源跨域访问 跨域使用session信息

SilverLight 出于对安全性的考虑默认情况下对URL的访问进行了严格的限制,只允许访问同一子域下的URL资源. 下表列出了Silverlight 2.0 中 URL 访问规则:   WebClient对象 Media.images.ASX XAML 文件.Font 文件 流媒体 允许的协议 HTTP, HTTPS HTTP, HTTPS, FILE HTTP, HTTPS, FILE HTTP 跨协议访问 不允许 不允许 不允许 不允许来自HTTPS的访问 跨Web域访问 不允许 如果不

Nginx环境JS向PHP发送多个url请求跨域问题

Nginx配置: location ~ \.php$ { add_header Access-Control-Allow-Origin "*"; client_max_body_size 120m; fastcgi_pass    127.0.0.1:9000; include         fastcgi.conf; }

django + vue.js 解决跨域问题

浏览器跨域报错:"No: Access-Control-Allow-Origin":  解决方案1: 在view视图函数中 给封装好的list_查看这个方法这个函数给父类 clss Oldboy (ModelViewset): queryst =Course.objects.all() serializer_Class =CoureSerializer def list(self,request,*args,**kwargs) response = super().list(reque

用jQuery与JSONP轻松解决跨域访问的问题【转】

原文地址:http://www.jb51.net/article/46463.htm 好在,有jquery帮忙,跨域问题似乎没那么难缠了.这次也借此机会对跨域问题来给刨根问底,结合实际的开发项目,查阅了相关资料,算是解决了跨域问题..有必要记下来备忘. 跨域的安全限制都是指浏览器端来说的.服务器端是不存在跨域安全限制的,所以通过本机服务器端通过类似httpclient方式完成“跨域访问”的工作,然后在浏览器端用AJAX获取本机服务器端“跨域访问”对应的url.来间接完成跨域访问也是可以的.但很显

将微博或者qq空间的说说同步至博客园 wcf+js(ajax)跨域请求(1)

前天刚写了篇文章使用Bootstrap为你的博客园自定义轮播图片(今天将图片加载的顺序调整了下,不在访问的时候直接加载,而是页面加载最后在脚本里面动态添加dom元素),虽说技术含量不怎么高,但是大家还算感兴趣.其实对博主来说最关键是博客的积分在涨.所以趁热打铁,再来一篇使用wcf+js ajax跨域请求数据同步空间说说的帖子. 因为是请求qq说说的数据,所以要登陆我的qq,这个很麻烦,总不能让每个访客都登陆的qq,然后把数据取出来吧,而且qq也没有相关的接口提供,登陆的时候还要处理验证码.所以这

个人学习记录2:ajax跨域封装

/** * 跨域提交公用方法 * @param param 参数 * @param url 跨域的地址 * @param callFun 回调函数 callFun(data) */ function jsonpCall(param, url, callFun) { $.ajax({ async:false, type:"GET", url:url, dataType:"jsonp", jsonp:"callback", data:$.param(

关于javascript跨域及JSONP的原理与应用

同源策略,它是由Netscape提出的一个著名的安全策略,现在所有的可支持javascript的浏览器都会使用这个策略. 为什么需要同源策略,这里举个例子: 假设现在没有同源策略,会发生什么事情呢?大家知道,JavaScript可以做很多东西,比如:读取/修改网页中某个值.恩,你现在打开了浏览器,在一 个tab窗口中打开了银行网站,在另外一个tab窗口中打开了一个恶意网站,而那个恶意网站挂了一个的专门修改银行信息的JavaScript,当你访问 这个恶意网站并且执行它JavaScript时,你的

C# 和Jsonp的一个小demo 用jQuery与JSONP轻松解决跨域访问的问题

客服端:      在A项目下面 建立一个 JsonpClient.aspx页面,代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="JsonpClient.aspx.cs" Inherits="WebFrom.JsonpClient" %> <!DOCTYPE html> <html xmlns="http:/

Cors跨域

一.为什么会出现跨域问题 出于浏览器的同源策略限制.同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正.所谓同源(即指在同一个域)就是两个页面具有相同的协议(protocol),主机(host)和端口号(port). 二.什么是跨域 当一个请求url的协议.域名.端口三者之间任意一个与当前页面url不同即为跨域 当前页面url 被请求页面url 是否跨域 原因http://www.test.com/ http://www.