express ajax jsonp,用jsonp去取接口数据返回的是json对象,用ajax取接口数据为什么就是字符串了?...

正常啊,jsonp 回传的数据格式(假设回调函数叫做 callback)本来就是 callback({"name":"foo"}) ,里面的参数并不是字符串形式哦。

而 ajax 传数据的时候,服务端需要对数据按 json 格式序列化,再传递,到客户端当然需要 parse 了,这个很多 xhr 的库都提供自动 parse 的功能的,比如 jquery.ajax 是设置 dataType 为 json。

updated

你们后端说不支持 jsonp,是意思不支持跨域还是不支持 jsonp 的方式跨域,这一点很重要。

如果后端的意思是,不支持 jsonp 的方式,但是支持 cors,那就比较简单了,现在一般主流的 xhr 库都会自动设置关于 cors 的请求头的,就不细说了。

如果后端的意思是,不支持跨域,但如果你本地有在使用 devserver,不论是 webpack-dev-server 还是 express-dev-server,只有在 devserver 中配置 proxy 并增加 rewrite 规则即可,开启 proxy 有多种方式,有用 middleware 的,有传参数的,各种工程体系是不同的,不过配置成功以后,由于服务端不存在同源策略的限制,所以也就无所谓跨域不跨域了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值