前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >$.ajax的post请求不好使了?

$.ajax的post请求不好使了?

作者头像
web前端教室
发布2019-07-18 17:54:55
1.5K0
发布2019-07-18 17:54:55
举报
文章被收录于专栏:web前端教室web前端教室

这几天在开发在线学习平台的过程,遇到这样的问题,先看js代码,

很简单的点击按钮,触发ajax

但是问题是,success里的回调根本就不执行,百般修改也没反应。再看php代码,

到后来已经被我简化为只有一句echo做为返回值了,但这时依然不执行,这时我意识到,即不是js的问题,也不是php的问题,那么问题应该定位在协议或数据方面。后来我把js代码中的data去掉,变成这样,

现在只有一个单纯的post请求而已

但即这样,依然没有执行success,这时我更加确定,就是http请求头方面的问题。在网上反复查找php接收数据时的请求头方面的资料,终于确定,问题原因是,请求头的 header 里的Content-Type的问题。

Content-Type的值有以下几种,

代码语言:javascript
复制
text/xml (xml 数据格式)
text/html (html 数据格式)
text/plain (无格式字符串数据格式)
multipart/form-data (上传文件)
application/json (json 数据格式)
application/x-www-form-urlencoded(序列化数据的)

第一种xml格式肯定用不上;第二种html格式也不对;第三种无格式也不对;第四个是上传表单的,用不上;

估计情况就是第五个、第六个。直接说结果了,(既然$.ajax用不了,那就直接XMLHttpRequest对象)看代码,

JavaScript代码:

PHP代码:

解决了。

这个在线学习平台说起来简单,但这一路开发过来,踩进去的坑有很多,就这样继续吧,成功的路从来都是曲折的。

最后是广告时间,如果想要转行或提高前端技术的同学,可以看一下web前端提高班的课程,

如果觉得本文对你有用,请帮忙转发,并点赞,谢谢。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-07-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 web前端教室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档