我有一个web方法,我试图从jquery ajax调用,但它没有被调用。 在萤火虫当我看到我得到的回应时,
<title>Unknown web method MyMethod.<br>Parameter name: methodName</title>
错误。当服务器端有该方法时,我无法理解为什么会出现此错误的原因。 这是我的客户端代码..
$("#excel").on("click", function (e) {
e.preventDefault();
var img = "image";
$.ajax({
type: "POST",
url: "Default.aspx/MyMethod",
data: JSON.stringify({ imageData: img }),
contentType: "application/json; charset=utf-8"
}).done(function (o) {
console.log(["Response:", o]);
});
});
这是我的服务器端代码..
[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();
}
}
}
请帮助我解决这个问题,因为我完全被这个问题所困扰。 提前谢谢..
答案 0 :(得分:0)
使用它对我有用 System.Web.Services.WebMethod
试试这个
[System.Web.Services.WebMethod]
public static void MyMethod(string imageData)
{
}
url
正确无误。如果它不起作用Check this out 这确实对我的系统有效
Default.aspx
<form id="form1" runat="server">
<div id="excel">
Here</div>
</form>
<script type="text/javascript">
$("#excel").on("click", function (e) {
e.preventDefault();
var img = "image";
$.ajax({
type: "POST",
url: "Default.aspx/MyMethod",
data: JSON.stringify({ imageData: "Hello" }),
contentType: "application/json; charset=utf-8"
}).done(function (o) {
console.log(["Response:", o]);
});
});
</script>
Default.aspx.cs
[System.Web.Services.WebMethod]
public static string MyMethod(string imageData)
{
return imageData;
}
答案 1 :(得分:0)
如果您正在寻找有关VB.net的答案,则需要制作您的函数Public Shared
。我自己也遇到了这个问题。