当 Af Networking 2.2 发布到 Zend 1.10 'isPost' 时,它返回 false

Posted

技术标签:

【中文标题】当 Af Networking 2.2 发布到 Zend 1.10 \'isPost\' 时,它返回 false【英文标题】:Zend 1.10 'isPost' returns false when Af Networking 2.2 posts to it当 Af Networking 2.2 发布到 Zend 1.10 'isPost' 时,它返回 false 【发布时间】:2014-04-17 19:00:34 【问题描述】:

我有一个基于 ios7 AF Networking 2.2 的应用程序。在其中,我发布到一个我也基于 Zend 框架 1.10 维护的 Rest API。 当我在应用程序中提出这个请求时:

     //create request 
   NSString *url = @"https://url.tosendto.com";
    NSDictionary *params = @@"email":email,@"graph_id":graphId ;
  //Build request manager
    AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
    manager.requestSerializer = [AFHTTPRequestSerializer serializer];
    [manager.requestSerializer setValue:[self key] forHTTPHeaderField:@"key"];
  //FIRE!
    [manager POST:url parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject)
     
         NSLog(@" %@ ",operation.responseString);
      failure:^(AFHTTPRequestOperation *operation, NSError *error)
     
         NSLog(@" %@ ",operation.responseString);
     ];

它会在服务器 Zend 上触发一个正确的请求 $this->getRequest()->isPost();always 返回 false,同样的帖子在 ASIHTTPRequest 中工作正常。 帮助!我什么都试过了!所有其他方法(Get、Put、Delete 等)都可以正常工作!

【问题讨论】:

我不是 ios 开发人员,但在您的代码示例中,这确实看起来像 GET。 哦,我完全错过了,让我把它编辑成实际的功能。这是一段测试代码,所有专有内容都被撕掉了,而不是失败的实际功能(作为 POST)。谢谢! 可能值得检查服务器上的访问日志以确认实际使用的请求方法,将其缩小到您的 ios 代码或 ZF 的问题。 isPost() 只是检查$_SERVER['REQUEST_METHOD'] 还要注意重定向,以防 POST 被重定向到另一个 URL,导致 GET。不太可能但并非不可能。 【参考方案1】:

我想通了,当然这是一个业余错误! 所以,example.com 和 www.example.com 是不同的东西。 在我们的例子中,www.example.com 重定向到 example.com,在这种情况下,post 数据丢失并且 api 将其视为获取!愚蠢的错误,但有点好笑。希望它会帮助别人!

【讨论】:

以上是关于当 Af Networking 2.2 发布到 Zend 1.10 'isPost' 时,它返回 false的主要内容,如果未能解决你的问题,请参考以下文章

Z-Stack发送数据函数“afStatus_t AF_DataRequest”参数解读

Intel主板H110和B250,Z370的区别

何时使用 Photon Networking 主客户端?

matlab函数绘图

{head first} --- networking 3

Unity Networking-UNet 中的附加场景加载