我的接口如下
请求结果如下
之后就一直这样了,不知道哪里出错了
1.要讲json字符串转化成json。
var data='({"id":1,"pid":2})';//注意格式,有单引号和括号,key是双引号,value无所谓。
var newData=JSON.stringify(data);//得到{id:1,pid:2}
或者直接写成var data={id:1,pid:2};就不用JSON.stringify了
2.ajax请求的时候指定返回的dataType:"json"
如果你在第一步发送前用了JSON.stringify()
ajax返回的时候,数据要var res=JSON.parse(res)一下。否则不用
前台跨域post请求,由于CORS(cross origin resource share)规范的存在,浏览器会首先发送一次options嗅探,同时header带上origin,判断是否有跨域请求权限,服务器响应access control allow origin的值,供浏览器与origin匹配,如果匹配则正式发送post请求。
设置header access control allow origin等于*,就可以了。
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
4 回答4.4k 阅读✓ 已解决
接口没有配置拦截
post
类型的请求。比如 node.js 定义接口的时候会指定请求类型:
这样如果接口地址一样,请求类型不一样,还是会访问不了,所以需要改后台接口