Ajax提交之后,Method从POST变成GET
因为你的 dataType 是 jsonp 而不是 json ,jsonp不支持POST跨域,所以会自动给你转成GET--- 我当然不是这个原因!
$.ajax({
type: 'POST',
dataType: 'json', // 若出现跨域请求请使用'jsonp'
url: "http://127.0.0.1:8084",
data: {"act_order":"1477360975713",
"act_id":"1"},
dataType: "jsonp"
})
你的js版本太低了,我也遇到了这样情况,换上高版本版本(在jQuery1.9以后),这个解答我从网路上找的,其实也正是这个原因(我用zepto.js version:"^1.1.6")
- 本质上 type || method 两个配置项是没有区别的,区别在于两者出现的时间不同,type对于目前jQuery的版本全部兼容,也就是说 type: 'POST', type: 'GET', 都行,这种方式书写,type类型是GET就是GET请求,是POST请求就是POST请求。
在jQuery1.9以后的版本中使用ajax时,可以使用如下方式
$.ajax({
method: 'POST', //这里不同了
url: '/login',
data: {
'userName': userName,
'password': password
}
})
实现的功能是一样的,但是如果此时你引入的jQuery(zepto)的js文件版本太旧,就会出现请求全是以默认方式GET进行的,
所以控制台会出现一些所看到的bug
type 和 method 一样的含义 只是mthod是version1.9添加的,所以版本1.9之前的使用type(本全部兼容) 之后的使用method
结语
前端react QQ群:
788023830----React/Redux - 地下老英雄前端交流QQ群:
249620372----FRONT-END-JS前端(我们的宗旨是,为了加班,为了秃顶……,仰望大佬),希望小伙伴们加群一起学习