{ "$" :[ "'i' is an invalid start of a value. Path: $ | LineNumber: 0 | BytePositionInLine: 0." ],



我只是想把这个AJAX请求发送给我的控制器,但一直在标题中出现错误,一切工作正常的swagger API所以我假设我在AJAX请求上传递了错误的数据?下面是请求:

function submitForm(){

var fullName = $("#name").find(":selected").val();
console.log(fullName);
var firstName = fullName.split(' ').slice(0, -1).join(' ');
console.log(firstName);
var lastName = fullName.split(' ').slice(-1).join(' ');
console.log(lastName);

console.log($("#name").find(":selected").attr("name"));

var formData = {
id: null,
type: 2,
person: $("#name").find(":selected").attr("name"),
firstName: firstName,
lastName: lastName,
dateCreated: new Date().toISOString(),
dateModified: new Date().toISOString(),
modifiedBy: "Web Application"
};

console.log(formData);

$.ajax({
type: "POST",
url: 'https://localhost:44398/api/Attendee1/InsertAttendee',
data: formData,
contentType: 'application/json',
success: function(res){

console.log(res)

}
});
}

这是我的控制器

[HttpPost("InsertAttendee")]
public async Task<ActionResult<Attendee2>> InsertAttendee(Attendee2 request, CancellationToken cancellationToken)
{
Attendee2 Attendee2 = new Attendee2();
Attendee2.Type = request.Type;
Attendee2.Person = request.Person;
Attendee2.FirstName = request.FirstName;
Attendee2.LastName = request.LastName;
Attendee2.DateCreated = request.DateCreated;
Attendee2.DateModified = request.DateModified;
Attendee2.ModifiedBy = request.ModifiedBy;
var returnedId = new OutputParameter<int?>();
try
{
await _context.GetProcedures().InsertAttendeeAsync(Attendee2.DateCreated, Attendee2.DateModified, Attendee2.FirstName, Attendee2.LastName, Attendee2.ModifiedBy, Attendee2.Person, Attendee2.Type, returnedId, null, cancellationToken);
}
catch(Exception ex)
{
return StatusCode(500, ex);
}
return CreatedAtAction("GetAttendee1", new { id = Attendee2.Id }, Attendee2);

}

出席者2型号

public class Attendee2
{
[Key]
public int Id { get; set; }
public int Type { get; set; }
public int? Person { get; set; }
[StringLength(100)]
[Unicode(false)]
public string FirstName { get; set; }
[StringLength(100)]
[Unicode(false)]
public string LastName { get; set; }
[Column(TypeName = "datetime")]
public DateTime DateCreated { get; set; }
[Column(TypeName = "datetime")]
public DateTime DateModified { get; set; }
[Required]
[StringLength(50)]
[Unicode(false)]
public string ModifiedBy { get; set; }
}

完整错误:{" type":"https://tools.ietf.org/html/rfc7231#section-6.5.1","title":"One或更多验证错误发生。","status":400,"traceId"; "00-f5e0489cf9bb95269b878874ccb4e152-3003e7f9f1a70d1d-00"," Error "; {"$":["'i'是一个无效的值的开始。路径:$ | LineNumber: 0 | BytePositionInLine: 0."],"request":["请求字段是必需的。"]}}

解决方案是JSON.Stringify(formData)。

最新更新