我正在尝试使用jQuery to C#方法进行ajax调用。
$(".imgDbAttachment").on("click", function (e) {
debugger;
var fileName = $(this).attr('data-attchment-id');
fileExt = $(this).attr('data-attchment-type');
loadAjaxImage(fileName, fileExt);
});
function loadAjaxImage(id,type) {
$.ajax({
type: "POST",
url: "../CommonDesign/Test.aspx/GetImage",
data:{
'attachmentId': id,
},
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
console.log(data);
}
}).done(function (data) {
if (console && console.log) {
console.log(data);
}
});
}
public partial class Test: System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
var str = this.Request.Url;
}
[WebMethod]
public string GetImage(string attachmentId)
{
return "hello";
}
但是当我进行ajax调用时,控件正在点击PageLoad()&不是GetImage()&这反过来又返回整个aspx页面内容
检查这些链接,
但仍然是同一个问题。
任何建议/高度赞赏。
答案 0 :(得分:1)
让GetImage()
静态
[WebMethod]
public static string GetImage(string attachmentId)
{
return "hello";
}
更多阅读 here
答案 1 :(得分:0)
当您单击按钮时,看起来您正在发布帖子。最好添加一个
return false;
到函数的最后一行
$(".imgDbAttachment").on("click", function (e) {
debugger;
var fileName = $(this).attr('data-attchment-id');
fileExt = $(this).attr('data-attchment-type');
loadAjaxImage(fileName, fileExt);
return false;
});