小编qix*_*qix的帖子

CORS和Access-Control-Allow-Header如何工作?

我正在尝试从domain.com向a.domain.com发出CORS请求POST.

我的javascript看起来像这样

$('#fileupload').fileupload({
  xhrFields: {
    withCredentials: true
  },
  dataType: 'json',
  url: $('#fileupload').data('path'),
  singleFileUploads: true,
  add: function(e, data){
    data.submit();
  }
});
Run Code Online (Sandbox Code Playgroud)

首先,我看到OPTIONS路由被调用如下:

Request URL: https://a.domain.com/some/route
Request Method:OPTIONS
Status Code:200 OK
Run Code Online (Sandbox Code Playgroud)

选项要求:

Access-Control-Request-Headers:origin, content-type, accept
Access-Control-Request-Method:POST
Host:a.domain.com
Origin:http://domain.com:3000
Referer:http://domain.com:3000/home
Run Code Online (Sandbox Code Playgroud)

选项响应

Access-Control-Allow-Credentials:true
Access-Control-Allow-Methods:POST
Access-Control-Allow-Origin:http://domain.com:3000
Connection:keep-alive
Content-Length:0
Content-Type:text/html;charset=utf-8
Run Code Online (Sandbox Code Playgroud)

这个要求回来了200个说明.在我的服务器上,我有相同的路由POST方法,这是我得到的回报之后OPTIONS

Request URL:https://a.domain.com/some/route
Run Code Online (Sandbox Code Playgroud)

发出请求

Content-Type:multipart/form-data; boundary=----WebKitFormBoundaryjwr5Pk7WBcfzMdbO
Origin:http://domain.com:3000
Referer:http://domain.com:3000/home
Run Code Online (Sandbox Code Playgroud)

并且POST请求被取消/失败.

我的问题是,我是否还需要在POST控制器上拥有access-control-allow-origin?

我有一个用于授权的cookie,该cookie具有cookie,.domain.com该cookie在请求中被发送过一次并且现在没有被发送.知道为什么会这样吗?

javascript jquery cors

62
推荐指数
1
解决办法
14万
查看次数

如何在Android Studio中自动删除尾随空格?

类似于日食问题,

  • 如何从正在编辑的整个文件中自动删除尾部空格?
  • 如何仅从我更改的行中自动删除尾随空格?

intellij-idea android-studio

40
推荐指数
2
解决办法
3万
查看次数

修复由iOS 7中的UIRefreshControl引起的UITableViewController偏移

我在我的uitableviewcontroller中设置了一个UIRefreshControl,但导航栏和uitableview顶部之间存在很大差距.使用"调整滚动视图插入"不起作用,因为控制器将在启动时覆盖导航栏.我可以禁用'顶部栏',但滚动时我想要这种能力.在调试器中调试时,我注意到tableView.contentInset在不同时间偏移了82个点,这与人们谈论有关新ios7 bar行为的因果20/64 pt偏差不同.这里发生了什么?

uitableview uinavigationcontroller uirefreshcontrol ios7

10
推荐指数
1
解决办法
5094
查看次数

使用 Google App Engine 将所有请求从一个域重定向到另一个域,但在 yaml 中保留静态路由规则

我有一个 GAE 应用程序,它在 yaml 文件中的规则定义的静态文件下提供 DNS 中配置的两个不同域名,一个旧域名和一个新域名,但除此之外,它们为每个域名提供相同的内容。我想将请求从旧域重定向到新域。我已经看到了这个问题,但是我认为失去了在 yaml 中使用静态资产处理程序的能力,并且必须在我的 main.py 中明确设置静态资产服务。当主机名是旧域时,是否有一种简单的方法(最好在 yaml 文件本身中)进行重定向,但为新域保留我的静态文件规则?

更新

这是我最终使用的完整解决方案:

### dispatch.yaml ###

dispatch:
- url: "*my.domain/*"
  module: redirect-module

### redirector.yaml ###

module: redirect-module
runtime: python27
threadsafe: true
api_version: 1

skip_files:
- ^(?!redirector.py$)

handlers:
# Redirect everything via our redirector
- url: /.*
  script: redirector.app

### redirector.py ###

import webapp2

def get_redirect_uri(handler, *args, **kwargs):
    return 'https://my.domain/' + kwargs.get('path')

app = webapp2.WSGIApplication([
    webapp2.Route('/<path:.*>', webapp2.RedirectHandler, defaults={'_uri': get_redirect_uri}),
], debug=False)
Run Code Online (Sandbox Code Playgroud)

一些额外的文档:https : //cloud.google.com/appengine/docs/python/modules/routing#routing_with_a_dispatch_file

google-app-engine redirect app.yaml

6
推荐指数
1
解决办法
2089
查看次数

UINavigationController的自定义动画推送无法正确渲染导航栏

在自定义segue中,我有以下简单的过渡:

- (void) perform {
    UIViewController *src = (UIViewController *) self.sourceViewController;
    UIViewController *dst = (UIViewController *) self.destinationViewController;
    [UIView transitionWithView:src.navigationController.view duration:1
                       options:UIViewAnimationOptionTransitionFlipFromBottom
                    animations:^{
                        [src.navigationController pushViewController:dst animated:NO];
                    }
                    completion:NULL];
}
Run Code Online (Sandbox Code Playgroud)

内容视图动画很好.但是,在执行动画时,顶部的导航栏有一个混乱的布局(按钮全部塞满左上角,没有标题),只有在动画结束时弹出到位.任何人都知道我做错了什么以及如何解决它?谢谢!

uinavigationcontroller ios segue

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

有没有一种短路Javascript承诺的好方法?

承诺/延期我是一个新手.对于成功和错误案例,是否有一个好的模式来处理人们可能希望短路承诺链的情况?在错误的情况下,我知道你可以链接.then(null, function(error) {})到最后并从任何先前的域中捕获错误,但是如果你想以更自定义的方式处理错误并终止怎么办?您是否会在先前的错误处理程序中指定错误的"类型"并通过新的承诺返回它,以便在最终的错误处理程序中处理或跳过?那么一个成功案例,你想要在链中更早地终止(只是有条件地解雇任何后来then的)?

javascript promise jquery-deferred

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