我试图通过ajax将数据加载到jQuery对话框中,但Firefox中的请求失败(34.0.5).工作正常,我在Chrome和Safari中没有任何抱怨.

我的apache conf包含:

Header set Access-Control-Allow-Origin "*"

Header set Access-Control-Allow-Methods: "PUT, GET, POST, DELETE, OPTIONS"

Header set Access-Control-Allow-Headers "Origin, X-Requested-With, Content-Type, Accept"

jQuery很简单:

$('#dialog').load('example.php', function() { $('#dialog').dialog('open'); });

Firefox响应以下控制台错误:

跨源请求已阻止:同源策略禁止在http://www.example.com/example.php上读取远程资源.这可以通过将资源移动到同一域或启用CORS来解决.

检查来自ajax请求的响应头,它们似乎都是完整的,并且与apache中声明的内容一致.我是否应该包含一些其他指令或以某种方式更改配置以使其工作?

更新:问题的根源在于我希望example.com和www.example.com都能发挥相同的作用.有问题的网站标题中始终有一个标记< base href =“www.example.com”/>在这两个实例中,因为这是默认站点框架的一部分.我已经发现删除此链接允许ajax请求在example.com上工作,即使它仍然专门从www子域调用资源.

有趣的是,删除此标记时,请求和响应标头的许多方面都会发生变化.对于任何可能对这里的含义有所了解的人我都会在下面粘贴请求和响应标头.

以下是带< base>的标头标签已删除.在这种情况下,ajax调用成功:

响应

HTTP/1.1 200 OK

Date: Sun, 18 Jan 2015 22:11:04 GMT

Server: Apache/2.4.7 (Ubuntu)

X-Powered-By: PHP/5.5.9-1ubuntu4.5

Set-Cookie: PHPSESSID=xxx; path=/; HttpOnly

language=en; expires=Tue, 17-Feb-2015 22:11:04 GMT; Max-Age=2592000; path=/; domain=www.example.com

currency=CAD; expires=Tue, 17-Feb-2015 22:11:04 GMT; Max-Age=2592000; path=/; domain=www.example.com

Expires: Thu, 19 Nov 1981 08:52:00 GMT

Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0, public

Pragma: no-cache

Content-Encoding: gzip

access-control-allow-methods: PUT, GET, POST, DELETE, OPTIONS

access-control-allow-origin: *

access-control-allow-headers: Origin, X-Requested-With, Content-Type, Accept

Content-Length: 1515

Connection: close

Content-Type: text/html; charset=utf-8

请求

GET /example.php HTTP/1.1

Host: www.example.com

User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:34.0) Gecko/20100101 Firefox/34.0 FirePHP/0.7.4

Accept: text/html, */*; q=0.01

Accept-Language: en-US,en;q=0.5

Accept-Encoding: gzip, deflate

Referer: http://example.com/

Origin: http://example.com

x-insight: activate

Connection: keep-alive

Cache-Control: max-age=0

以下是< base>的标题标签完整.这些标头反映了ajax调用失败的情况.值得注意的是,响应标题中的“位置”字段显示为“https”,即使这不是通过https连接发生的:

响应

HTTP/1.1 302 Found

Date: Sun, 18 Jan 2015 22:12:26 GMT

Server: Apache/2.4.7 (Ubuntu)

X-Powered-By: PHP/5.5.9-1ubuntu4.5

Set-Cookie: PHPSESSID=xxx; path=/; HttpOnly

language=en; expires=Tue, 17-Feb-2015 22:12:26 GMT; Max-Age=2592000; path=/; domain=www.example.com

currency=CAD; expires=Tue, 17-Feb-2015 22:12:26 GMT; Max-Age=2592000; path=/; domain=www.example.com

Expires: Thu, 19 Nov 1981 08:52:00 GMT

Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0, public

Pragma: no-cache

Status: 302

Location: https://www.example.com/index.php

access-control-allow-methods: PUT, GET, POST, DELETE, OPTIONS

access-control-allow-origin: *

access-control-allow-headers: Origin, X-Requested-With, Content-Type, Accept

Content-Length: 0

Connection: close

Content-Type: text/html

请求

OPTIONS /example.php HTTP/1.1

Host: www.example.com

User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:34.0) Gecko/20100101 Firefox/34.0 FirePHP/0.7.4

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

Accept-Language: en-US,en;q=0.5

Accept-Encoding: gzip, deflate

Origin: http://example.com

Access-Control-Request-Method: GET

Access-Control-Request-Headers: x-requested-with

x-insight: activate

Connection: keep-alive

Cache-Control: max-age=0

firefox无法打开php,php – CORS无法在Firefox中运行相关推荐

  1. python新线程打开cmd_Python – 函数无法在新线程中运行

    我试图使用此函数杀死 Windows上的notepad.exe进程: import thread, wmi, os print 'CMD: Kill command called' def kill( ...

  2. Firefox上打开的标签页太多怎么办?

    我以Firefox作为我的第一浏览器,因为它有着非常多的扩展,可以打造成"我的浏览器".但我这个人兴趣比较广,同时开着的标签页比较多,如何对付它们就是个问题. 1. 回收内存 Ba ...

  3. python语言+selenium自动化,编写脚本调用Chrome、Firefox浏览器打开百度网站

    python语言+selenium自动化,编写脚本调用Chrome.Firefox浏览器打开百度网站 目标:初始化一个webdriver实例对象driver,通过webdriver.Chrome()和 ...

  4. kali中的firefox无法打开:your tab just crashed

    用curl是可以获取到的,所以排除网络问题,看来是firefox出故障了啊,那就重装个最新版的吧! 1.下载: 打开firefox网站,找到下载其它版本,找到linux-64版本,下载,下载后是fir ...

  5. Firefox直接打开PDF

    系统Ubuntu,之前用Firefox打开PDF文件都要下载到本地后打开,很麻烦. 查了一下,可以用evince和mozplugger让Firefox直接打开PDF. Step 1: 安装evince ...

  6. linux打开火狐浏览器就死机,firefox火狐浏览器卡死导致死机解决方法

    死机是我们使用电脑时经常会遇到的.也是最令我们头痛的问题,而最近就有很多小伙伴反映firefox火狐浏览器卡死导致死机,遇到这种情况我们具体该怎么解决呢?下面就由学习啦小编跟大家分享一下解决方法吧,欢 ...

  7. ubtunu打开firefox_虚拟机Ubuntu下安装Firefox浏览器

    首先去官网下载最新版本火狐浏览器forlinux系统,附链接http://www.firefox.com.cn/download/,是一个.tar.bz2的压缩包,放自定义目录下: 1.若以前安装过旧 ...

  8. linux 命令行 错位,在Linux下使用Firefox浏览器打开网站显示错位的解决

    火狐Firefox浏览器支持Linux.Windows.MacOS操作系统,有时候使用Firefox浏览器打开某些网站或者全部网站会出现显示错位的情况,根据经验,多数情况是字体大小设置的原因. 错位图 ...

  9. 怎么从edge/chrome/firefox浏览器打开FTP链接!

    怎么从edge/chrome/firefox浏览器打开FTP链接! 前一阵子配置了ftp服务器,因为在校园网下传输文件很方便,而且速度很快,但是发现在edge/chrome/firefox上打不开(没 ...

最新文章

  1. 2021年大数据基础(四):​​​​​​​​​​​​​​​​​​​​​大数据业务分析基本步骤
  2. Linux系统下GNU Wget 命令用法详解及其参数说明
  3. dubbo内置哪几种服务容器_dubbo启动服务之容器(Container)
  4. android chrome iframe设置src属性无法启动app
  5. JavaScript入门(part10)--作用域
  6. oracle clob 查询换行,sqoop clob从Oracle导入到hive   回车换行导致记录增多
  7. qt自定义窗口,其绘制的窗口边框线显示不全
  8. 重构真的能提高代码质量吗?
  9. k8s核心技术-Pod(调度策略)_影响Pod调度(节点亲和性)---K8S_Google工作笔记0026
  10. 白化(Whitening): PCA白化 ZCA白化
  11. linux 用户管理、权限管理
  12. 电视机顶盒搜台原理和方法简析
  13. C语言ALG什么文件,alg.exe进程是什么
  14. Linux命令退格键变成^H的解决办法
  15. r语言导入ggplot2_R语言绘图之ggplot2包
  16. 微信订阅号服务器配置url如何配置,微信订阅号开发模式基本配置
  17. 用java判断三角形类型_判断三角形类型
  18. ActiveMQ——如何监控ActiveMQ
  19. 《Arduino开发实战指南:机器人卷》一3.2 直流电机工作原理
  20. Vue学习笔记 7.7 周末去哪儿

热门文章

  1. antvue 有赞布局_UI大全:前端UI框架集合(持续更新,当前32个)
  2. java反射class文件_Java反射(一)Class
  3. java反射 获取属性_Java反射学习-3 - 反射获取属性,方法,构造器
  4. servlet到mysql_在servlet中搜索代码到mysql?
  5. Python+OpenCV:OpenCV-Python绑定是如何工作的?
  6. _stdcall与_cdecl的区别
  7. 视觉平台搭建——光源选型介绍
  8. node link 踩坑记录
  9. 访问通信录 适配iOS7
  10. Skype for Business Server 2015-12-WAP-发布-1-前端服务器-OWAS01