Ajax利用post方法向后台发送请求,后台接受请求
最近做了一个web前端的小项目,关于高校的综合管理系统,在向后台提交表单请求时,遇到了一些问题,在这里想记录上次项目的小经验。
请求方法的选择
我们都知道对于ajax发送请求通常用get方法和post方法,关于二者的区别,我想都耳熟能详,而在方法的选择上,我们在提交数据较多的表单时或者一些重要的,不能泄露的数据时通常选择post方法,那在post提交时需要注意什么东西呢?
- json字符串格式: 当我们提交表单数据时,我们会将其存储在一个数组或者对象里,而这种格式是不符合ajax请求的数据格式,这时,我们可以利用JSON.stringify()方法将其转化为JSON字符串,例如"name":“赵四”,“passwd”:"123456"这种格式完全正确,但更更重要的一点我们要清楚自己的ajax请求头(header)的 Content-Type 字段,因为数据发送出去,还要服务端解析成功才有意义。一般服务端语言如 php、python 等,以及它们的 framework,都内置了自动解析常见数据格式的功能。服务端通常是根据请求头(headers)中的 Content-Type 字段来获知请求中的消息主体是用何种方式编码,再对主体进行解析。这时我们需要设置请求头,如
这样就ok啦。
2.qs序列化: 另一种就是将表单提交的数据对象或数组,然后利用qs.stringify()方法将数据序列化成name=赵四&passwd=123456。而这时候的请求头则是
并且现在浏览器大都默认这种 Content-Type。