Javascript 如何发送正确的模型
我通过post请求在服务器上发送带有ajax的模型 我有下一个模型和一个有禁食方法的控制器Javascript 如何发送正确的模型,javascript,.net,ajax,Javascript,.net,Ajax,我通过post请求在服务器上发送带有ajax的模型 我有下一个模型和一个有禁食方法的控制器 public class TestDto: BaseDto { [Required] public ProductGalleryDto GalleryProduct { get; set; } public int? RetailPriceEur { get; set; } [Required] public int? AmountSpc { get; set
public class TestDto: BaseDto
{
[Required]
public ProductGalleryDto GalleryProduct { get; set; }
public int? RetailPriceEur { get; set; }
[Required]
public int? AmountSpc { get; set; }
public bool? PrizeSent { get; set; }
public string Comment { get; set; }
public DateTime? StartDate { get; set; }
[Required]
public DateTime? ExpirationDate { get; set; }
public bool IsParticipant { get; internal set; }
}
public override IActionResult Post([FromBody] TestDto item)
{
if (!IsAdmin)
return BadRequest(ApiErrorCodes.InsufficientPriveleges);
if (!ModelState.IsValid)
return BadRequest(ApiErrorCodes.RequiredFieldsMissing, ModelState.Keys.FirstOrDefault());
}
JS:
js中的字段也存在于模型中
实际:模型无效。
我怎么解决这个问题?请帮助在ajax请求中发送一个非JSON字符串的对象,如下示例:
var person=newobject();
person.name=“name”;
person.姓氏=“姓氏”;
$.ajax({
网址:'http://localhost:3413/api/person',
键入:“POST”,
资料:人,,
成功:函数(数据、文本状态、xhr){
控制台日志(数据);
},
错误:函数(xhr、textStatus、errorshown){
console.log(“操作错误”);
}
});
您正试图发送一个包含字符串化数据的对象:{object}
对象
是一个字符串,而您将其包装在{}
中,这没有意义。@Brioshee已密封,已修复,问题保持不变。如何将对象注入到接受产品的模型中ID@ChrisG密封的,固定的,问题仍然是一样的。如何将对象注入到接受产品的模型中ID@AndrewStark这是一个C#问题,您应该显示所有与.NET相关的代码。通常,您需要服务器端的反序列化程序。您能修复/重新格式化您的答案以便更容易理解吗?我不知道你想说什么。
var object = JSON.stringify({
createddate: startdate,
retailpriceeur: price,
amountspc: spobicoinprice,
prizesent: false,
expirationdate: expirationdate,
comment: comment,
productgalleryid: productgalleryDto
});
$.ajax({
headers: { "Authorization": "Bearer " + localStorage.getItem('authToken') },
url: "/api/testapi/",
method: "post",
data: object,
contentType: "application/json; charset=utf-8",
success: function (result) {
}
});