小编Ron*_*ung的帖子

jQuery:跨域AJAX调用导致"访问受限制的URI被拒绝"(代码1012)

我想要做的是在HTTP协议上有一个页面,将AJAX调用发送到同一个Web服务器,但使用HTTPS.请求页面和AJAX处理程序都在同一台服务器上,具有相同的域和端口.(即,唯一的区别是协议.)为了说明,

来自 http://www.example.com/index.php

触发对https://www.example.com/authenticate.php?user=123&password=456的jQuery AJAX调用

(我希望通过HTTPS传递密码,使其通过Internet加密.由于一些设计限制,我必须使用AJAX调用而不是重定向页面.)

我知道这里有一个CORS问题,因此我研究了一下,发现我实际上可以使用Access-Control-Allow-Origin标头来提供帮助.然后我在Apache的配置文件中设置以下内容,

Header set Access-Control-Allow-Origin *
Header set Access-Control-Allow-Methods "GET, POST, PUT, DELETE, OPTIONS"
Header set Access-Control-Allow-Headers "content-type, accept"
Header set Access-Control-Max-Age 1000
Run Code Online (Sandbox Code Playgroud)

我可以看到,当浏览器从服务器请求资源时,可以看到标题.请求:

Accept  */*
Accept-Encoding gzip, deflate
Accept-Language en-us,en;q=0.5
Authorization   Basic Y2FzZXRhZ3JhbWRldjpwYXNzd29yZGRldiE=
Cache-Control   no-cache
Connection  keep-alive
Cookie  __utma=99230732.2019724749.1337107099.1337849971.1337856946.9; __utmz=99230732.1337107099.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __utma=217650581.954519005.1337107174.1337772401.1337777327.5; __utmz=217650581.1337107174.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __utmc=99230732; PHPSESSID=m8lnqhqv2qa6f884a8um413n81
Host    www.example.com
Pragma  no-cache
Referer http://www.example.com/index.php
User-Agent  Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:12.0) Gecko/20100101 Firefox/12.0
Run Code Online (Sandbox Code Playgroud)

回答是这样的,

Accept-Ranges   bytes
Access-Control-Allow-Head...    content-type, accept
Access-Control-Allow-Meth...    GET, POST, PUT, DELETE, …
Run Code Online (Sandbox Code Playgroud)

javascript ajax jquery json cors

5
推荐指数
1
解决办法
5448
查看次数

标签 统计

ajax ×1

cors ×1

javascript ×1

jquery ×1

json ×1