var obj = {
RdEmail: useremailid,
RduserName: username,
RduserPassword: userpassword,
RdGender: gender
};
-----------1----------------------
$.ajax({
url: "Registration/AddData",
type: "POST",
data: JSON.stringify(obj),
dataType: "json",
contentType: "application/x-www-form-urlencoded; charset=UTF-8",
success: function (result) {
if (result)
{
alert("Registration Succesfull");
location.reload();
}
},
error: function (xhr) {
alert('Error: ' + xhr.statusText);
},
});
----------2----------------------
$.ajax({
url: 'Registration/AddData',
type: 'post',
data: JSON.stringify(obj),
dataType: 'json',
contentType: 'application/json chartset=utf-8',
success: function (result) {
},
error: function (xhr) {
alert('Erro:' + xhr.statusText);
});
--- Action method ---
[HttpPost]
public ActionResult AddData(RegistrationData obj)
{
return Json(obj);
}
在
obj
中我得到的都是空值。
我需要知道问题是什么,以及如何解决它。
换乘方式不止一种!你应该决定哪一个!
称为 dotnet 模型绑定的问题解决方案。
如果您发布 JSON 使用 [FromBody],发布表单用户 [FromForm] 在参数类型之前! https://learn.microsoft.com/en-us/aspnet/core/mvc/models/model-binding?view=aspnetcore-8.0#sources
在客户端,我猜有一个混乱! 如果您需要以表格形式发送文件 这对你来说是件好事
contentType: "application/x-www-form-urlencoded; charset=UTF-8",
但是这种方式不能用
data: JSON.stringify(obj),
dataType: "json",
问题;数据应该是 FormData 的形式,所以它不是 JSON
第二种方式是(如果您不需要发送数据+文件)
data: JSON.stringify(obj),
dataType: 'json',
contentType: 'application/json chartset=utf-8',