jquery - 为什么 $post 不起作用但 $ajax 在 asp.net web api 控制器上起作用?
问题描述
我有兴趣知道为什么$.ajax()请求有效,但$.post()在控制器上只返回一个空数组。
控制器
[Route("api/actuary/{actuaryId:long}/documents/")]
[HttpPost]
public async Task<IHttpActionResult> uploadCourseTrainingProofAsync(List<CourseModel> courseAttended)
{
//code .....
}
此请求有效
$.ajax({
url: url,
cache: false,
type: 'POST',
contentType: 'application/json; charset=utf-8',
data: JSON.stringify(courseAttended),
dataType: "json",
success: function (data) {
console.log(data)
}
})
但是这个不起作用, courseAttended 数组在控制器处是空的。
$.post(url, JSON.stringify(courseAttended), function (response) {
console.log(response)
},"json")
解决方案
您不必在 $.post 中对对象进行字符串化
$.post(url, courseAttended, function (response) {
console.log(response)
},"json")
推荐阅读
- audiokit - './build_frameworks.sh' 失败并显示 'xcodebuild: error: '../AudioKit.xcodeproj' 不存在。
- azure - 为组织中的所有项目创建迭代
- c++ - 散列数组的排列
- c++ - 不小心编辑了一个 windows 标题,现在没有编译
- javascript - jQuery 将图像附加到 HTML div
- wordpress - 无法修改wordpress默认上传目录
- angular - 子组件中的 Angular Reactive 表单提交
- algorithm - 间隔时间表变化 - 为了最大限度地享受乐趣而阅读的书籍子集
- postgresql - 实例级别的 enable_partitionwise_join 的任何问题
- json - xslt 转换(json 到 csv)