Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php iOS-Laravel HTTP请求问题_Php_Ios_Json_Http_Laravel - Fatal编程技术网

Php iOS-Laravel HTTP请求问题

Php iOS-Laravel HTTP请求问题,php,ios,json,http,laravel,Php,Ios,Json,Http,Laravel,我希望有人能帮助我,如果有人能回答我的问题,我会非常感激 我正在开发一个iOS应用程序,它向运行Laravel框架的服务器发出一些HTTP请求 服务器公开了我使用HTTPPOST方法调用的一些服务,并在HTTP正文中发送JSON 我以这种方式从NSMutableDictionary对象开始创建JSON //Serialize parameters NSError *error = nil; NSData *jsonData = [NSJSONSerialization dataWithJSONO

我希望有人能帮助我,如果有人能回答我的问题,我会非常感激 我正在开发一个iOS应用程序,它向运行Laravel框架的服务器发出一些HTTP请求 服务器公开了我使用HTTPPOST方法调用的一些服务,并在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版本,而这一版本没有问题)

提前感谢任何帮助我的人
Tarek

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


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

您是否使用Wireshark或Fiddler之类的工具检查过流量?是请求在线路上的格式不正确,还是服务器对好的请求做了一些奇怪的事情?嘿,你解决了你的问题了吗?我也有同样的问题。拉威尔不会只承认我的发帖请求。GET、PUT、DELETE都可以正常工作,这只发生在iOS上