IOS 出现问题POST网络请求状态code:500的解决方法

所属分类: 软件编程 / IOS 阅读数: 1556
收藏 0 赞 0 分享

IOS 出现问题POST网络请求状态code:500的解决方法

前言:

iOS 10 用 [NSURLSession uploadTaskWithRequest:request fromData:jsondata completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error){}];

进行post网络请求时 出现 500 错误

出现500 的错误 服务器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理。一般来说,这个问题都会在服务器的程序码出错时出现。IOS HTTP请求的常见状态码总结

虽然出现这种原因是服务器的错误,我觉得服务器解析请求数据也有可能出现这个错误状态500,所以我从客服端入手。
打印返回时的 response 里面的值为

:<NSHTTPURLResponse: 0x17003a900> { URL: 你的url地址 } { status code: 500, 

headers {
 "Cache-Control" = private
 "Content-Length" = 3306;
 "Content-Type" = "text/html; charset=utf-8";
 Date = "Sun, 09 Oct 2016 07:45:13 GMT";
 Server = "Microsoft-IIS/7.5";
 "X-AspNet-Version" = "4.0.30319";
 "X-Powered-By" = "ASP.NET";
} }

从中我们可以看到,返回类型不是json而是text/html类型

我们知道,在post请求是需要设置请求头数据类型,以上出错的请求我是这样设置的

[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"]; 

这个设置方法是我从提交图片的网络请求方法拷贝过来的,即@"application/x-www-form-urlencoded"这个类型是提交图片的类型设置(提交图片时把提交图片参数转成NSData然后再转成base64的NSData提交)。而我的本次请求是提交json字符串的NSData类型。所以"Content-Type"的值设置成”application/json“即可。详解Http请求中Content-Type讲解以及在Spring MVC中的应用

我的解决方法是重新设置 如下:

[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]; 

请求 response 大家可以和上面的做对比。

<NSHTTPURLResponse: 0x17403fe60> { URL: 你的url地址 } { status code: 200, headers {
 "Cache-Control" = private;
 "Content-Length" = 75;
 "Content-Type" = "application/json; charset=utf-8";
 Date = "Sun, 09 Oct 2016 07:56:16 GMT";
 Server = "Microsoft-IIS/7.5";
 "X-AspNet-Version" = "4.0.30319";
 "X-AspNetMvc-Version" = "4.0";
 "X-Powered-By" = "ASP.NET";
} } 

现在的  status code: 200, 解决了 500 错误的问题。出现这个错误也有可能后台对数据的处理错误,或者后台返回的数据类型和前端设置需要返回的类型冲突等。还是得具体问题具体分析

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

更多精彩内容其他人还在看

iOS UISearchController的使用方法

本文主要介绍了iOS UISearchController的使用方法,具有很好的参考价值,下面跟着小编一起来看下吧
收藏 0 赞 0 分享

IOS 中 new 和 alloc init 的对比

这篇文章主要介绍了IOS 中 new 和 alloc init 的区别的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

IOS 字符串常用处理详细介绍

这篇文章主要介绍了IOS 字符串常用处理详细介绍的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

iOS开发支付宝支付成功返回字符串的处理操作

很多朋友在做ios开发项目时,遇到支付宝支付成功返回字符串的处理操作不知道该怎么办,今天小编给大家分享实例代码,需要的朋友参考下
收藏 0 赞 0 分享

IOS CoreLocation实现系统自带定位的方法

本篇文章主要介绍了IOS Core Location实现系统自带定位的方法,非常具有实用价值,需要的朋友可以参考下。
收藏 0 赞 0 分享

iOS之点击通知栏的通知进入程序的触发事件

本文主要介绍了iOS中点击通知栏的通知进入程序的触发事件的相关知识,具有很好的参考价值,下面跟着小编一起来看下吧
收藏 0 赞 0 分享

IOS  Swift基础之switch用法详解

这篇文章主要介绍了IOS Swift基础之switch用法详解的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

IOS React等Title不显示问题解决办法

这篇文章主要介绍了IOS React等Title不显示问题解决办法的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

iOS UIScrollView滚动视图/无限循环滚动/自动滚动的实例代码

这篇文章主要介绍了iOS UIScrollView滚动视图/无限循环滚动/自动滚动,需要的朋友可以参考下
收藏 0 赞 0 分享

简单实现iOS指纹解锁(TouchID)

这篇文章主要介绍了如何简单实现iOS指纹解锁,验证TouchID,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享
查看更多