【发布时间】:2022-07-02 22:46:10
【问题描述】:
我正在将我的代码从 .NET 迁移到 .NET Core 6,但遇到了难题,谷歌搜索似乎没有帮助,因此欢迎提供任何建议和指点。
所有这些都在 .NET 中工作,因此我很清楚如何迁移 API。
我正在使用greasemonkey 脚本来抓取一些数据并将其传递到我的站点。
function sendHome() {
console.log(window.eval('window.PA_intel'));
GM.xmlHttpRequest({
method: "POST",
url: "https://localhost:7223/api/Parsing/Any",
data: "{ Data: '" + JSON.stringify(window.eval('window.PA_intel')) + "', Type: 'Intel'}",
headers: { "Content-Type": "application/json" },
onload: function (response) { console.log(response); toastr["success"]("Intel sent home!", "Phoenix"); },
onerror: function (reponse) {console.log("error: ", reponse)},
});
}
这会从页面中抓取数据并将其推送到正在等待 api/Parsing/Any 的 API 路由
调试和邮递员可以触发 API 控制器,所以我知道路由有效,但正文(来自 GM 脚本的数据和类型)没有附带。
我有一个定义好的模型来接收数据
public class ParseData
{
public string Data { get; set; }
public string Type { get; set; }
}
我的控制器设置为预期它,但在 .NET CORE 6 中它只是出现空
[Route("api/Parsing/")]
public class ParsingAPIController : Controller
{
[Route("Any")]
public List<ParseResult> ParseAny(ParseData parseData)
//public List<ParseResult> ParseAny(string Data, string Type)
{
正如我所说,正在触发路由,但 parseData 对象为空,如果我对 ParseAny 进行检测以查看已发送的内容,我会收到一个空正文错误。
任何想法我哪里出错了?
【问题讨论】:
标签: c# asp.net-mvc greasemonkey asp.net-core-6.0