【发布时间】:2020-10-30 16:16:53
【问题描述】:
获取 HttpGet 参数
我有这样的方法
[HttpGet("SendEmails/sendStudentMailIR/{studentID}/{email}/{surID}")]
public async Task<bool> sendStudentMailIR(string studentID, string email, string surID)
{
bool isSent = false;
...
return isSent;
}
SendEmails 是我的控制器,sendStudentMailIR 是方法 我正在使用ajax来调用它 使用这个调用。
var surID = this.surId();
var studentID = this.studentID();
var email = this.collegeStudentEmail();
$.ajax({
url: "/SendEmails/sendStudentMailIR/" + studentID + "/" + email + "/" + surID,
data: JSON.stringify(ko.toJSON(this)),
type: 'POST',
dataType: 'json',
contentType: 'application/json',
success: function (data) {
alert("Send");
}
});
但我从来没有达到这个方法。我错过了什么。我正在使用 Core 3.1。
【问题讨论】:
-
您的控制器方法标记为“获取”,而您的
ajax正在尝试“发布”将您的ajax更改为type:'Get',而且,我认为您不需要在url中传递参数时传递data -
在
[HttpGet()]属性中添加[FromQuery],我相信这应该表示要在查询字符串中获取的参数。 -
@janzen 他们不能来自其他任何地方的 GET 请求
[HttpGet]因为它没有正文(如果 OP 更改为[Route]可能需要如此值得一提) -
很高兴知道。谢谢你。 @freedomn-m
-
您应该得到一个错误(404 或 405) - 始终在您的 ajax 请求中添加
error:回调以查看发生了什么(或查看网络选项卡)
标签: c# jquery asp.net-core