关于Access Control Allow Origin错误的问题

前天第一次使用jquery向服务器发送Get请求。结果吸拜了...查看console提示说"No ‘Access-Control-Allow-Origin‘ header is present on the requested resource. Origin ‘null‘ is therefore not allowed access.",嗯好吧,google了一下才知道是跨域问题。

跨域访问:AJAX 跨域访问是用户访问A网站时所产生的对B网站的跨域访问请求均提交到A网站的指定页面 ——百度百科

还有搜了一些文章,我的理解就是javaScript有同源策略限制,js文件只能操作获得 同域名,同端口 的数据。所以当我在本地打开html,向服务器发出请求的时候,一开始它是拒绝的~ 把自己写的html 文件放到服务器上打开就没问题。

(这样岂不是很麻烦,每次修改点什么东西都要往上提交一下才能测试??? )

还好jQuery封装了JSONP的功能。

关于JSONP(JSON with Padding)



注意JSON和JSONP差别很大! json是一种轻量级数据格式,而jsonp可以理解成一种协议。上面提到javaScript有同源策略,但是对某些标签却造不成物理伤害(script、iframe、img、等带src属性的标签)。而JSONP的核心就是使用script标签来调用服务器提供的js脚本,而JSON对Javascript原生支持,所以JSONP就是把得到的JSON数据当成JavaScrip对象,这样就不存在跨域问题了。

JSONP使用方法


JavaScript演示

    // 服务器返回结果后调用的函数
    var callback = function(data){
        console.log(data);
    };
    // 提供jsonp服务的url地址(不管是什么类型的地址,最终生成的返回值都是一段javascript代码)
    var url = "http://yoururl.com";
    // 创建script标签,设置其属性
    var script = document.createElement(‘script‘);
    script.setAttribute(‘src‘, url);
    // 把script标签加入head,此时调用开始
    document.getElementsByTagName(‘head‘)[0].appendChild(script);

jQuery演示

$.ajax({
        type: "get",
        url:"http://yoururl.com",
        dataType: "jsonp",
        data: {
        },
        //服务器返回后直接调用success 函数,就不用我们自己定义callback了。
        success: function(object) {
            console.log(object);
        }
})

推荐阅读:


时间: 2024-10-12 21:15:04

关于Access Control Allow Origin错误的问题的相关文章

Access control allow origin 简单请求和复杂请求

错误信息: XMLHttpRequest cannot load http://web.image.myqcloud.com/photos/v2/10008653/bhpocket/0/?sign=4FcLKd5B8-p4SkFVUEJtZ1omZT0xNDQ0NzExMDE5JnQ9MTQ0NDcwNzQxOSZyPTEzMDMyMDgzOTAmdT0wJmY9.No 'Access-Control-Allow-Origin' header is present on the requeste

Server-Side Access Control

Firefox 3.5 implements the W3C Access Control specification.  As a result, Firefox 3.5 sends specific HTTP headers for cross-site requests initiated from withinXMLHttpRequest (which in Firefox 3.5 and beyond can be used to invoke different domains) a

Linux VFS Extended Attribute And Access Control Table

catalog 0. 简介 1. 扩展属性 2. 访问控制表 3. 小结 0. 简介 许多文件系统都提供了一些特性,扩展了VFS层提供的标准功能,虚拟文件系统不可能为所有特性都提供具体的数据结构.超出标准的UNIX文件模型的附加特性,通常需要将一个组扩展属性关联到每个文件系统对象Linux内核能够提供的是一个框架,容许增加特定于文件系统的扩展,扩展属性(extended attribute xattrs)是能够关联到文件的任意属性,由于每个文件通常都只关联了所有可能扩展属性的一个子集,扩展属性存

Browser security standards via access control

A computing system is operable to contain a security module within an operating system. This security module may then act to monitor?access?requests by a web browser and apply?mandatory?access?control?security policies to such requests. It will be ap

[认证授权] 6.Permission Based Access Control

在前面5篇博客中介绍了OAuth2和OIDC(OpenId Connect),其作用是授权和认证.那么当我们得到OAuth2的Access Token或者OIDC的Id Token之后,我们的资源服务如何来验证这些token是否有权限来执行对资源的某一项操作呢?比如我有一个API,/books,它具有如下5个操作: POST /books 添加一本书 GET /books/{id} 获取一本书 PUT /books/{id} 更新一本书 DELETE /books/{id} 删除一本书 GET

Fortify漏洞之Access Control: Database(数据越权)

继续对Fortify的漏洞进行总结,本篇主要针对 Access Control: Database(数据越权)的漏洞进行总结,如下: 1.Access Control: Database(数据越权) 1.1.产生原因: Database access control 错误在以下情况下发生: 1.      数据从一个不可信赖的数据源进入程序. 2.      这个数据用来指定 SQL 查询中主键的值. 示例 1:以下代码使用可转义元字符并防止出现 SQL 注入漏洞的参数化语句,以构建和执行用于搜

Access control differentiation in trusted computer system

A trusted computer system that offers Linux? compatibility and supports contemporary hardware speeds. It is designed to require no porting of common applications which run on Linux, to be easy to develop for, and to allow the use of a wide variety of

CISSP AIO 3th: Access Control

This chapter presents the following: • Identification methods and technologies • Authentication methods, models, and technologies • Discretionary, mandatory, and nondiscretionary models • Accountability, monitoring, and auditing practices • Emanation

A GUIDE TO UNDERSTANDINGDISCRETIONARY ACCESS CONTROL INTRUSTED SYSTEMS

1. INTRODUCTION ? The main goal of the National Computer Security Center is to encourage the widespread availability of trusted computer systems. In support of that goal a metric was created, the Department of Defense Trusted Computer System Evaluati