前后台数据交互间的常见问题

ajax请求

  1. 一定要跟后台确认是什么类型的请求(post、get、其它)。
  2. 一定要跟后台确认入参的数据类型,最近在写小程序遇到的一个问题,代码如下,自认为这样传没问题,都是从其它写过的项目拷贝过来的,改改地址,入参就行,结果导致出现了问题,调用接口一直是404,后来才发现前端传给后端的是字符串的json,而后端需要的是json格式。一定不要自认为啊。

这是小程序的说明:

data 参数说明 最终发送给服务器的数据是 String 类型,如果传入的 data 不是 String 类型,会被转换成 String 。转换规则如下:

对于 GET 方法的数据,会将数据转换成 query string(encodeURIComponent(k)=encodeURIComponent(v)&encodeURIComponent(k)=encodeURIComponent(v)...) 对于 POST 方法且 header['content-type'] 为 application/json 的数据,会对数据进行 JSON 序列化 对于 POST 方法且 header['content-type'] 为 application/x-www-form-urlencoded 的数据,会将数据转换成 query string (encodeURIComponent(k)=encodeURIComponent(v)&encodeURIComponent(k)=encodeURIComponent(v)...)

wx.request({
  url: 'test.php', //仅为示例,并非真实的接口地址
  data: {
    x: '',
    y: ''
  },
  header: {
    'content-type': 'application/x-www-form-urlencoded' // 请注意这
  },
  method: 'POST',
  success (res) {
    console.log(res.data)
  }
})
复制代码
  1. get请求时如果直接把参数写在问好后一定要记得转码,有一些框架并没有对直接写都问好后的参数进行处理,test.php?scn=apsQrhlgqqb8cb2lbinVrW2cnjOgthvBLXc%2BdlH3o9YtknjWSDY9dziPERYwvI%2FG%2BwR
  2. jsonp跨域请求只能是get请求

转载于:https://juejin.im/post/5bcee1ccf265da0aec2297ff

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值