我试图通过html2canvas
发送一个截图到服务器使用AJAX调用和POST方法,但它没有发生。当我试图通过在相关行设置断点来使用Firebug来调试脚本时,我的应用程序不会触及断点。无法在ajax调用ASPX调试WebMethod
这里是(使用jQuery)我的客户端代码:
$("#excel").on("click", function (e) {
e.preventDefault();
html2canvas($("#placeholder").get(0), {
onrendered: function (canvas) {
//document.body.appendChild(canvas);
var img = canvas.toDataURL().replace(/^data[:]image\/(png|jpg|jpeg)[;]base64,/i, "");
$.ajax({
"type": "POST",
"url": "Default.aspx/MyMethod",
"data": {
"imageData": img //Send to WebMethod
}
}).done(function (o) {
console.log(["Response:", o]);
});
}
});
这是我的服务器端ASPX的WebMethod:
[WebMethod()]
public static void MyMethod(string imageData)
{
string fileNameWitPath = "D:/Kabir/custom_name.png";
using (FileStream fs = new FileStream(fileNameWitPath, FileMode.Create))
{
using (BinaryWriter bw = new BinaryWriter(fs))
{
byte[] data = Convert.FromBase64String(imageData);//convert from base64
bw.Write(data);
bw.Close();
}
}
当我尝试看看吧内萤火虫,其状态是200 OK
。这是为什么发生?
是否正确地传递参数?还检查整个网址是否正确,并且它没有打到别的地方?你在函数的开始尝试了断点吗? – Cyassin
@ user2338488 localhost:4247/JQPlot/Default.aspx/MyMethod这是我的URl和参数是正确的 – Laxman
@ user2338488我在console.log([“Response:”,o])上得到错误;当在萤火虫 – Laxman