我们都知道如果在前端直接提交表单的话,数据包是以 FormData 类型提交到服务端的,在服务端(例如 PHP )则直接 $_POST['xxx'] 可以获取到。
但如果在前端使用 AJAX 提交,例如 AngularJS 的 $http.post(),则是用 Payload 格式发送的,在服务端用 $_POST['xxx'] 是拿不到数据的,需要读取 php://input 才可以拿到数据包。
那么问题来了,如果开发一个 API ,不限于只给 HTML 前端调用,可能还会有 iOS 等各种客户端,甚至是直接 curl 命令,那么服务端(不限于 PHP )应该读哪个数据呢?是直接拿 post 还是拿 input 后自己处理呢?
我知道 AngularJS 可以把数据转成 FormData 后再提交,但如果面向各种前端、客户端,后端应该使用哪种更规范一些?
想听听大家实际开发的经验
但如果在前端使用 AJAX 提交,例如 AngularJS 的 $http.post(),则是用 Payload 格式发送的,在服务端用 $_POST['xxx'] 是拿不到数据的,需要读取 php://input 才可以拿到数据包。
那么问题来了,如果开发一个 API ,不限于只给 HTML 前端调用,可能还会有 iOS 等各种客户端,甚至是直接 curl 命令,那么服务端(不限于 PHP )应该读哪个数据呢?是直接拿 post 还是拿 input 后自己处理呢?
我知道 AngularJS 可以把数据转成 FormData 后再提交,但如果面向各种前端、客户端,后端应该使用哪种更规范一些?
想听听大家实际开发的经验