【发布时间】:2021-01-09 17:56:33
【问题描述】:
我想在注册时将电子邮件(字符串)从 aspnet/identity 发送到我的 dbcontext。控制台输出
加载资源失败。服务器响应状态为 415 () :5001/api/UserEntities/insertEmail:1
当我点击斜体部分时,我得到:
{"type":"https://tools.ietf.org/html/rfc7231#section-6.5.13","title":"不支持的媒体类型","status":415,"traceId": "00-30216fe89ca6b54e8fa1121b1954ad81-0a607d94a5b71142-00"}
RegisterConfirmation.cshtml
var data = {
email: $('#email').val()
};
$(document).ready(function () {
$.ajax({
type: "POST",
url: '../../api/UserEntities/insertEmail',
data: data,
success: function () {
alert($('#email').val()); //this shows the email correctly in the popup
}
});
});
UserEntitiesController.cs
[Route("insertEmail")]
public void Insert([FromBody] string email)
{
_uecontext.Users.Add(new DinderDL.Models.UserEntity
{
Email = email
});
_uecontext.SaveChanges();
}
我也试过这个,结果是一样的:
$(document).ready(function () {
$.post('../../api/UserEntities/insertEmail', {
email: $('#email').val();
}).then(alert('hello'));
});
除非我得到:
POST https://localhost:5001/api/UserEntities/insertEmail 415
send @ jquery.min.js:2
ajax @ jquery.min.js:2
S.<computed> @ jquery.min.js:2
(anonymous) @ RegisterConfirmation?email=baba@gmail.com&returnUrl=%2F:71
e @ jquery.min.js:2
t @ jquery.min.js:2
setTimeout (async)
(anonymous) @ jquery.min.js:2
c @ jquery.min.js:2
fireWith @ jquery.min.js:2
fire @ jquery.min.js:2
c @ jquery.min.js:2
fireWith @ jquery.min.js:2
ready @ jquery.min.js:2
B @ jquery.min.js:2
【问题讨论】:
-
尝试设置“Content-Type: application/x-www-form-urlencoded”或查看这个答案:link
-
我得到了同样的结果:/
标签: jquery entity-framework asp.net-core razor