场景:验证用户身份。抓取cookie,为其他请求设置cookie。很好。我无法立即弄清楚的是,在不将下一个视图推到屏幕上的情况下,如何处理身份验证失败的问题。如果我的响应是{错误:{密码:不匹配}},我也应该解析这个响应并相应地创建一个条件吗?我应该只检查响应代码吗?我看得出来,这太难了。我添加了我的下一个视图:
因此,当连接完成时,自然会推动下一个视图。如果身份验证也失败,我想阻止它出现在这里。也许我不应该在这里推下我的下一个观点。那在哪呢?
发布于 2011-07-27 07:42:23
我检查重定向路径:这将显示身份验证是否正常。
- (NSURLRequest*)connection:(NSURLConnection*)connection willSendRequest:(NSURLRequest*)request redirectResponse:(NSURLResponse*)redirectResponse
{
NSLog(@"willSendRequest (from %@ to %@)", redirectResponse.URL, request.URL);
NSString *from = [NSString stringWithFormat:@"%@",redirectResponse.URL];
NSString *to = [NSString stringWithFormat:@"%@",request.URL];
if([from isEqualToString:serverSignInPath] )
//logged=true
else
//logged=false
}发布于 2011-07-27 19:55:42
NSURLResponse *HTTPResponse = (NSURLResponse *)response;
NSInteger statusCode = [HTTPResponse statusCode];
if (404 == statusCode || 500 == statusCode) {
[connection cancel];
[(MyAppDelegate *)[[UIApplication sharedApplication] delegate] setNetworkActivityIndicatorVisible:NO];
}这样,它就永远不会到达connectionDidFinishLoading来推动下一个视图。
Rails响应应该如下所示。
render :json => @foo.to_json, :status => 404https://stackoverflow.com/questions/6840653
复制相似问题