【问题标题】:iOS - Laravel HTTP request issueiOS - Laravel HTTP 请求问题
【发布时间】:2015-06-13 17:26:33
【问题描述】:

我希望有人可以帮助我,如果有人能解答我的问题,我将不胜感激 我正在开发一个 iOS 应用程序,它向运行 Laravel 框架的服务器发出一些 HTTP 请求 服务器公开了一些我使用 HTTP POST 方法调用并在 HTTP 正文中发送 JSON 的服务 我以这种方式从 NSMutableDictionary 对象开始创建 JSON

//Serialize parameters
NSError *error = nil;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:parameters
                                                   options:kNilOptions
                                                     error:&error];

然后我评估我的 HTTP 请求

// Prepare the request
[request setHTTPMethod:@"POST"];
[request setValue:@"application/json" forHTTPHeaderField:@"Accept"];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request setValue:@"json" forHTTPHeaderField:@"Data-Type"];
[request setValue:[NSString stringWithFormat:@"%d", (int)[jsonData length]]  forHTTPHeaderField:@"Content-Length"];
[request setHTTPBody:jsonData];

问题是有时服务器无法正确接收我的数据 有时 Laravel 会检测到 GET 请求而不是 POST 请求 其他时候 Laravel 会收到我的 JSON,但格式不同,无法处理(例如缺少引号、半列、逗号等) 这是随机发生的,确实,如果我在 30 分钟后再次尝试,它会再次起作用

此外,这只发生在 iOS 上(因为我们也在开发同一应用程序的 android 版本,我们对此没有任何问题)

提前感谢任何会帮助我的人 塔雷克

【问题讨论】:

  • 您是否使用过 Wireshark 或 Fiddler 等工具检查流量?网络上的请求格式不正确,还是服务器对良好的请求做了一些奇怪的事情?
  • 嘿,你的问题解决了吗?我在这里遇到同样的问题。 Laravel 不会只识别我的 POST 请求。 GET、PUT、DELETE 工作正常,这只发生在 iOS 上

标签: php ios json http laravel


【解决方案1】:

如果您在 android 上没有相同的问题,请调试您的代码,然后服务器完全按预期工作

如果调试可能很困难,我更喜欢记录您的请求正文(json)或观察流量

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-12
    • 2015-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-10
    • 1970-01-01
    相关资源
    最近更新 更多