gpt4 book ai didi

c# - 从 Ajax 到 Web API 执行 HTTP POST 的空参数

转载 作者:行者123 更新时间:2023-12-01 08:05:34 25 4
gpt4 key购买 nike

我已经阅读了几篇有关此问题的 StackOverflow 帖子,并多次更正了我的代码但我无法让我的 webAPI post 方法起作用。我正在尝试接收 post 参数但它总是为空。

我想做的是接收一个代表 Canvas 的base64字符串当用户单击按钮时使用 jquery 创建:

function MakePhoto(ctrl) {

html2canvas(ctrl, {
onrendered: function (canvas) {

var canvasData = canvas.toDataURL()
jQuery.ajax({
url: "../api/webinfo",
type: "POST",
data: { imagedata: canvasData },
success: function () {
alert("success");

},
error: function () {
alert("failure");
}
});

}
});

}

我的WebInfoController.cs看起来像这样:

 public void Post([FromBody]string imagedata)
{

}

imagedata参数总是NULL

这是我在 webapi 收到的 header :

"Method: POST,

RequestUri: 'http://myhost/RestFulApi/api/webinfo'

Content: System.Net.Http.StreamContent

User-Agent: Chrome/27.0.1453.94

Content-Length: 42226

Content-Type: application/x-www-form-urlencoded; charset=UTF-8}

希望你能帮助我。

谢谢

最佳答案

好的,经过几个小时的研究,我发现了这个问题。我必须使用以下方法将数据参数传递给 ajax 函数:

"="+ canvasdata,不带参数名称:

jQuery.ajax({
url: "../api/webinfo",
type: "POST",
data: "=" + canvasData,
success: function (response) {
alert(response);

},
error: function (response) {
alert(response.responseText);
}
});

关于c# - 从 Ajax 到 Web API 执行 HTTP POST 的空参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16921163/

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