gpt4 book ai didi

c# - 参数 null 是 ASP Controller

转载 作者:行者123 更新时间:2023-12-04 02:36:33 25 4
gpt4 key购买 nike

我向我的 Controller 发送了一个带有原生 JavaScript 的 XmlRequest,但它不接受请求正文作为参数。 IE。即使参数是字符串,它也会将其读取为 null

请求:

request.open("POST", "https://localhost:44328/CommodityTypes/PostData");
//request.setRequestHeader('Content-type', 'text'); // maybe that makes the problem?
request.send("Message");

Controller :

[HttpPost]       
public string PostData(string Text)
{
return JsonSerializer.Serialize(Text);
}

很乐意就此获得任何建议。


在深入了解业务后,我发现可以将“对象”指定为要解析的参数('[FromBody]' 属性保留),获取一个奇怪的对象,它提供调用 ToString() 方法的 JSON 消息。如果传入 JSON 的结构可变或不均匀,则可以使用此方法。

虽然必须有一些其他的方式来处理这个问题。

最佳答案

您可以创建对象 data = { "text": "YourText"} 并发送 JSON.stringify(data)

并且需要设置header xmlhttp.setRequestHeader('Content-Type', 'application/json');

var uri = '/CommodityTypes/PostData';
var xmlhttp;
xmlhttp = new XMLHttpRequest();

var data = { "text": "YourText" };

var sendstr = JSON.stringify(data);

xmlhttp.open("POST", uri, true);
xmlhttp.setRequestHeader('Content-Type', 'application/json');
xmlhttp.send(sendstr);

xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
alert(xmlhttp.responseText);
}

关于c# - 参数 null 是 ASP Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61601155/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com