Json AF2.0帖子运行不正常

Json AF2.0帖子运行不正常,json,flask,afnetworking-2,Json,Flask,Afnetworking 2,我使用AFNetworking将一些JSON数据发布到服务器,服务器将使用相同的JSON数据进行响应 以下是objc代码: AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; manager.responseSerializer = [AFJSONResponseSerializer serializer]; manager.requestSerializer = [AFJSONReq

我使用AFNetworking将一些JSON数据发布到服务器,服务器将使用相同的JSON数据进行响应

以下是objc代码:

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.responseSerializer = [AFJSONResponseSerializer serializer];
manager.requestSerializer = [AFJSONRequestSerializer serializer];
[manager.requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[manager.requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Accept"];
[manager POST:@"http://127.0.0.1:5000/test" parameters:@{@"value":@(1)} success:^(AFHTTPRequestOperation *operation, id responseObject) {
    NSLog(@"JSON:%@", responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
    NSLog(@"%@",error);
}];
服务器代码使用Flask:

@app.route('/test', methods = ['POST'])
def test():
    resultJson = json.dumps(request.json)
    response = make_response(resultJson)
    return response
当我运行代码时,出现了一个错误:

Error Domain=com.alamofire.Error.serialization.response Code=-1016请求失败:不可接受的内容类型:text/html UserInfo=0x7febc2d33560{com.alamofire.serialization.response.Error.response={URL:}{status Code:200,headers{ 内容长度=12; 内容类型=文本/html;字符集=utf-8; 日期=周一,2015年2月2日01:10:55 GMT; 服务器=Werkzeug/0.9.6 Python/2.7.6; }},NSErrorFailingURLKey=,com.alamofire.serialization.response.error.data=,NSLocalizedDescription=请求失败:不可接受的内容类型:text/html}

我无法理解为什么状态代码是200,因为有一个错误,为什么错误消息显示内容类型是text/html,我在上面的Objective-C代码中将内容类型设置为application/json


但是,当我使用VisualJSONa Mac应用程序时,一切正常。

您返回了JSON数据作为响应,但您设置内容类型的假设是不正确的。创建一个响应实例,将mimetype设置为“application/json”

from flask import request, json

@app.route('/test', methods=['POST'])
def test():
    data = json.dumps(request.get_json())
    resp = app.response_class(data, mimetype='application/json')
    return resp