我正在尝试从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在请求中被发送过一次并且现在没有被发送.知道为什么会这样吗?
我在我的uitableviewcontroller中设置了一个UIRefreshControl,但导航栏和uitableview顶部之间存在很大差距.使用"调整滚动视图插入"不起作用,因为控制器将在启动时覆盖导航栏.我可以禁用'顶部栏',但滚动时我想要这种能力.在调试器中调试时,我注意到tableView.contentInset在不同时间偏移了82个点,这与人们谈论有关新ios7 bar行为的因果20/64 pt偏差不同.这里发生了什么?
我有一个 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
在自定义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)
内容视图动画很好.但是,在执行动画时,顶部的导航栏有一个混乱的布局(按钮全部塞满左上角,没有标题),只有在动画结束时弹出到位.任何人都知道我做错了什么以及如何解决它?谢谢!
承诺/延期我是一个新手.对于成功和错误案例,是否有一个好的模式来处理人们可能希望短路承诺链的情况?在错误的情况下,我知道你可以链接.then(null, function(error) {})
到最后并从任何先前的域中捕获错误,但是如果你想以更自定义的方式处理错误并终止怎么办?您是否会在先前的错误处理程序中指定错误的"类型"并通过新的承诺返回它,以便在最终的错误处理程序中处理或跳过?那么一个成功案例,你想要在链中更早地终止(只是有条件地解雇任何后来then
的)?
javascript ×2
app.yaml ×1
cors ×1
ios ×1
ios7 ×1
jquery ×1
promise ×1
redirect ×1
segue ×1
uitableview ×1