如何配置apache以接受POST跨域

时间:2013-05-10 09:56:46

标签: apache cross-domain

我需要在ubuntu上配置apache以考虑POST跨域。

我尝试了http://enable-cors.org/server_apache.html

  1. 安装mod_header
  2. 添加标题('Access-Control-Allow-Origin:'。$ _ SERVER ['HTTP_ORIGIN']); header('Access-Control-Allow-Methods:POST,GET,OPTIONS'); 标题('Access-Control-Max-Age:1000'); header('Access-Control-Allow-Headers:Content-Type');
  3. 但这不起作用。

    请求标题:

    Accept:*/*
    Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3
    Accept-Encoding:gzip,deflate,sdch
    Accept-Language:en-US,en;q=0.8
    Access-Control-Request-Headers:accept, cache-control, origin, x-requested-with, x-file-name, content-type
    Access-Control-Request-Method:POST
    Connection:keep-alive
    Host:xxx.amazonaws.com
    Origin:local.com
    Referer:local.com/test/test.php
    User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_3) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.65 Safari/537.31
    

    响应标题:

    Access-Control-Allow-Methods:POST, GET, OPTIONS
    Access-Control-Allow-Origin:*
    Connection:Keep-Alive
    Content-Encoding:gzip
    Content-Length:27
    Content-Type:text/html Date:Fri, 10 May 2013 10:30:10 GMT
    Keep-Alive:timeout=5, max=100
    Server:Apache/2.2.22 (Ubuntu) Vary:Accept-Encoding X-Powered-By:PHP/5.3.10-1ubuntu3.6
    

    任何人都可以帮助我吗?非常感谢你

1 个答案:

答案 0 :(得分:1)

在jQuery论坛的线程中向某人提供答案,您可能需要提供“Access-Control-Allow-Headers”标题,以便允许发送某些标题。

header("Access-Control-Allow-Headers: X-Requested-With, X-File-Name")

参考:http://forum.jquery.com/topic/jquery-1-5-latest-chrome-post-ajax-request-xmlhttprequest-cannot-load-url-request-header-field-x-requested-with-is-not-allowed-by-access-control-allow-headers