1
我已阅读了几篇关于此问题的StackOverflow文章,并多次更正了我的代码 但我无法让我的webAPI post方法正常工作。我试图收到帖子参数 ,但它始终为空。从Ajax到Web API执行HTTP POST的空参数
我所试图做的是接收代表画布是 使用jQuery创建一个base64字符串,当用户点击该按钮:
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
而这个ar E中的头我收到的的WebAPI:
“的方法:POST,
RequestUri: 'http://myhost/RestFulApi/api/webinfo'
内容:System.Net.Http.StreamContent
的User-Agent:铬/ 27.0。 1453.94
内容长度:42226
内容类型:应用程序/ x-WW瓦特窗体-urlencoded; charset = UTF-8}
我希望你能帮助我。
谢谢
又是什么canvas.toDataURL()的返回,你确定它不是空?在你的ajax请求之前插入一个console.log(canvasData),在浏览器控制台中记录了什么? – anderssonola
我想你可能需要添加'dataType:“json”'给你的ajax调用。 – jeffesp
我添加dataType:“json”,它仍然不工作:(。@ soderslatt是的,我使用chrome调试,它不是null。我可以看到base64字符串 –