php – AFNetworking 2.0 POST问题,Cocoa错误3840(JSON文本没有以数组开头……)

我试图在我的本地服务器上调用api.PHP(使用MAMP).
正在调用服务器端api.PHP,但PHP代码中的_POST内容包含以下错误
Error Domain = NSCocoaErrorDomain Code = 3840 "The operation Couldn’t be completed. (Cocoa error 3840.)" (JSON text did not start with array or object and option to allow fragments not set.) UserInfo = 0x15d7bdd0 {NSDebugDescription = JSON text did not start with array or object and option to allow fragments not set.}

我的应用程序试图将JSON POST请求发送到api.PHP一个使用AFNetworking 2的iOS应用程序

这是我的请求代码

- (void)postUpdateRequest
{
    if (!dataModel)
        dataModel = [[DataModel alloc] init];

    NSDictionary *params = @{@"foo": @"bar2"};

    NSLog(@"%@",params);

/*    NSDictionary *params = @{@"cmd":@"update",@"user_id":[dataModel userId],@"token":[dataModel devicetoken]
                             };//@"ip_address":[dataModel getIPAddress]};*/

    AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
//    manager.requestSerializer = [AFJSONRequestSerializer serializer];

    [manager POST:ServerApiURL parameters:params success:^(AFHTTPRequestOperation *operation,id responSEObject) {
        NSLog(@"JSON: %@",responSEObject);
    } failure:^(AFHTTPRequestOperation *operation,NSError *error) {
        NSLog(@"Error: %@",error);
    }];
}

我查看了整个互联网,但无法找到我的具体问题的答案.
无论我做什么,我都会得到同样的错误.

为什么我的JSON格式不正确?我似乎也找不到嗅探我实际发送的JSON的方法.

谢谢.

当您在示例中使用API​​时,您的HTTP消息将使用Content-Type application / x-www-form-urlencoded组成.在内部,您的param字典由AFN编码(虽然不是严格按w3c指定的正确),并设置为请求正文.

由于您未指定Accept标头,因此服务器可以自由选择可能的响应数据(如果有)的内容类型.

收到响应时,您需要始终检查HTTP状态代码和响应正文的内容类型(如果有).

可能的情况是,服务器返回一个状态代码,指示某个问题,并且响应正文包含某种不同类型的内容类型的“错误响应”(例如,它返回text / html).

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...