1、使用Axios提交表单
与JQuery的不同,使用Axios提交POST
请求,要求注意设置一下Content-Type
为application/x-www-form-urlencoded;charset=UTF-8
和 qs.stringify(data)
。
通用组件示例代码如下,
import axios from 'axios'
import qs from 'qs'
// create an axios instance
const service = axios.create({
//baseURL: process.env.BASE_API, // api的base_url
headers: {'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'}, // `headers` 是即将被发送的自定义请求头
// `transformRequest` 允许在向服务器发送前,修改请求数据
// 只能用在 'PUT', 'POST' 和 'PATCH' 这几个请求方法
// 后面数组中的函数必须返回一个字符串,或 ArrayBuffer,或 Stream
transformRequest: [function (data) {
// 对 data 进行任意转换处理
return qs.stringify(data)
}],
timeout: 5000 // request timeout
})
export default service
1) 执行get请求
//导入组件,from后面要接照实际写
import service from '@/utils/request'
let that = this;
service.get('/api/service/GetLotteryInfo', {
params: {
status: 1
}
})
.then(function(response) {
if (response.data.status == "ok") {
//alert(response.data.message);
debugger;
for (var item in response.data.data) {
that.lottery.push({
label: response.data.data[item].name,
value: response.data.data[item].id
});
}
//that.$message.success('提交成功!')
} else {
that.$message.error(response.data.message);
}
console.log(response);
})
.catch(function(error) {
console.log(error);
});
2) 执行POST请求
service.post('/api/service/SaveAwards',{name:'cjavapy',title:'cjavapy',lId:1,desc:'lottery'})
.then(function(response) {
if (response.data.status == "ok") {
that.$message.success('提交成功!')
} else {
that.$message.error(response.data.message);
}
console.log(response);
})
.catch(function(error) {
console.log(error);
that.$message.error(error);
});
2、ASP.NET Core后台接收参数
1) get请求参数比较少
public ActionResult GetAwardsList(int id)
2) get请求参数或较复杂
public ActionResult Get([FromQuery(Name = "identifier")] int id, [FromServices] IOrderService orderService)
或者
public ActionResult Get([FromQuery(Name = "identifier")] int id, [FromRoute] int orderId)
或者
public ActionResult Get([FromQuery(Name = "identifier")] int id, [FromHeader] string token)
2) post请求参数
public class Pet
{
public string Name { get; set; }
[FromQuery] // Attribute is ignored.
public string Breed { get; set; }
}
public ActionResult<Pet> Create([FromBody] Pet pet)
或者
public ActionResult<Pet> Create([FromForm] Pet pet)
[FromQuery]: 从查询字符串中获取值。
[FromRoute] : 从路线数据获取值。
[FromForm] : 从发布的表单字段中获取值。
[FromBody] : 从请求主体获取值。
[FromHeader] : 从HTTP的header中获取值。
相关文档:model-binding