ios afnetworking html,ios – AFNetworking 2响应错误(内容类型:text / html而不是JSON)

在尝试了几乎每一个关于这个问题的回答后,我都没有找到解决问题的方法.

问题:所以我在从AFNetworking 1.3移植后使用AFNetworking 2.0.3实现了我的应用程序的上传部分:

-(void)commandWithParams:(NSMutableDictionary*)params onCompletion:(JSONResponseBlock)completionBlock {

NSData* uploadFile = nil;

if ([params objectForKey:@"file"]) {

uploadFile = (NSData*)[params objectForKey:@"file"];

[params removeObjectForKey:@"file"];

}

AFHTTPRequestOperationManager *manager = [[AFHTTPRequestOperationManager alloc] initWithBaseURL:[NSURL URLWithString:@"http://54.204.17.38"]];

manager.responseSerializer = [AFJSONResponseSerializer serilizer];

manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"application/json"];

AFHTTPRequestOperation *apiRequest = [manager POST:@"/API" parameters:params constructingBodyWithBlock:^(id formData) {

if (uploadFile) {

[formData appendPartWithFileData:uploadFile name:@"file" fileName:@"photo.jpg" mimeType:@"image/jpeg"];

}

} success:^(AFHTTPRequestOperation *operation, id responseObject) {

completionBlock(responseObject);

} failure:^(AFHTTPRequestOperation *operation, NSError *error) {

completionBlock([NSDictionary dictionaryWithObject:[error localizedDescription] forKey:@"error"]);

}];

[apiRequest start];

}

我在使用此代码时遇到的错误是“请求失败:不可接受的内容类型:text / html”我知道您可能想知道服务器是否正在使用正确的JSON进行响应,并且我完全有理由认为它是在检查响应之后我的浏览器中的标题是’MIME type:application / json’.另外,我在我的API顶部使用’header(‘Content-type:application / json’)'(PHP API).现在,如果我将序列化类型更改为’AFHTTPResponseSerializer’而不是’AFJSONResponseSerializer’,它将不会吐出JSON错误,但它会给我一个不同的错误(随机无法识别的选择器错误).

对于为什么我似乎无法通过此方法获得JSON响应的任何想法?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
const config = { base: './', // index.html文件所在位置 root: './', // js导入的资源路径,src resolve: { alias, }, define: { 'process.env': {} }, server: { // 如果使用docker-compose开发模式,设置为false open: true, port: process.env.VITE_CLI_PORT, proxy: { // 把key的路径代理到target位置 // detail: https://cli.vuejs.org/config/#devserver-proxy [process.env.VITE_BASE_API]: { // 需要代理的路径 例如 '/api' target: `${process.env.VITE_BASE_PATH}/`, // 代理到 目标路径 changeOrigin: true, rewrite: path => path.replace(new RegExp('^' + process.env.VITE_BASE_API), ''), }, [process.env.VITE_BASE_EXPORT_API]: { // 需要代理的路径 例如 '/api' target: `${process.env.VITE_BASE_REPORTAPI}/`, // 代理到 目标路径 changeOrigin: true, rewrite: path => path.replace(new RegExp('^' + process.env.VITE_BASE_EXPORT_API), ''), }, }, }, build: { target: 'es2017', minify: 'terser', // 是否进行压缩,boolean | 'terser' | 'esbuild',默认使用terser manifest: false, // 是否产出manifest.json sourcemap: false, // 是否产出sourcemap.json outDir: 'dist', // 产出目录 // rollupOptions, }, esbuild, optimizeDeps, plugins: [ GvaPositionServer(), GvaPosition(), legacyPlugin({ targets: ['Android > 39', 'Chrome >= 60', 'Safari >= 10.1', 'iOS >= 10.3', 'Firefox >= 54', 'Edge >= 15'], }), vuePlugin(), [Banner(`\n Build based on gin-vue-admin \n Time : ${timestamp}`)] ], css: { preprocessorOptions: { scss: { additionalData: `@use "@/style/element/index.scss" as *;`, } } }, } 请帮我修改以上代码,当build打包时,前端页面url新增VITE_PUBLIC_PATH= '/devOnlineStatus/'前缀
07-15

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值