我有一个CORS(跨源资源共享)请求从我的登录页面到应用程序站点,在不同的URL上.我有一个简单的页面我ping以确定用户是否已经登录,如果是,则重定向它们.否则我会显示一个登录页面.我使用jQuery.
这适用于safari,chrome,firefox ......而不是IE(自然).根据MS,IE 10及更高版本应该使用withCredentials支持CORS请求
我正在使用jquery-2.0.3.min.js
任何想法为什么这不适用于IE11?
编辑:它似乎部分工作,因为它现在返回值{"id":false}.每次都会发生这种情况,这意味着服务器永远不会获得凭据.我也发布了我的is_logged_in页面,我正在使用代码点火器框架.
编辑:在IE的安全设置下启用"允许跨域的数据源"后,我不再收到任何错误消息.
我收到的确切错误是:
SEC7118:用于http://mysite.net/guest/is_logged_in的 XMLHttpRequest 需要跨源资源共享(CORS).
$.ajax({
url: 'http://mysite.net/guest/is_logged_in',
type: 'POST',
crossDomain: true,
xhrFields: {
withCredentials: true
},
dataType: 'json',
success: function(data) {
if(data.id) {
window.location.replace("http://mysite.net");
}
}
});
Run Code Online (Sandbox Code Playgroud)
和
public function is_logged_in()
{
$allowed = array(
'http://mysite.net',
'http://www.mysite.net',
'http://www.mysite.com',
);
$url = $_SERVER['HTTP_REFERER'];
$url = substr($url, 0, strpos($url, '/', 8));
if(isset($_SERVER['HTTP_ORIGIN']))
{
if(in_array($_SERVER['HTTP_ORIGIN'], $allowed))
{
$this->output->set_header('Access-Control-Allow-Origin: ' . $_SERVER['HTTP_ORIGIN']);
}
}
else
{
if(in_array($url, $allowed))
{
$this->output->set_header('Access-Control-Allow-Origin: ' . …Run Code Online (Sandbox Code Playgroud) 我有一组 python 脚本,我希望能够通过按按钮从网络浏览器执行这些脚本。
目前,我运行python -m http.server 8000在端口 8000 上启动服务器。它可以很好地提供 html 页面,但仅此而已。是否可以让它执行 python 脚本(通过 ajax)并返回输出,而不是仅返回 .py 文件的全文。
另外,如果没有,是否有一种简单的(如仅 1 或 2 个文件)方法可以实现此目的?我正在寻找 PHP -s 的等效项,但针对 python。
为了完整起见,这是我的 html
<h1>Hello World</h1>
<button>
Click me!
</button>
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.3.1.js"> </script>
<script>
$('button').click(function(){
$.get('/gui/run_bash.py');
});
</script>
Run Code Online (Sandbox Code Playgroud)