jQuery ajax 返回整个 aspx 内容

Posted

技术标签:

【中文标题】jQuery ajax 返回整个 aspx 内容【英文标题】:jQuery ajax returning entire aspx content 【发布时间】:2018-09-21 11:10:50 【问题描述】:

我正在尝试使用 jQuery 到 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 页面内容

检查这些链接,

    $.ajax Returning html of the page instead of results 还有一些其他的

但还是同样的问题。

任何建议/高度赞赏。

【问题讨论】:

【参考方案1】:

使GetImage() 静态

[WebMethod]
public static string GetImage(string attachmentId)

   return "hello";

更多阅读here

【讨论】:

已检查,但这会引发 500 内部服务器错误 在删除 contentType: "application/json; charset=utf-8" 时,它运行但仍然是相同的整页内容 您可以留下contenType 并执行console.log(data.d);【参考方案2】:

当您单击按钮时,您似乎也在发布帖子。最好加个

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;
        );

【讨论】:

以上是关于jQuery ajax 返回整个 aspx 内容的主要内容,如果未能解决你的问题,请参考以下文章

从 jQuery Ajax 方法返回

带有 ASP.NET WebMethod 的 Jquery AJAX 返回整个页面

JQuery AJAX请求aspx后台方法

不同的操作取决于 jquery ajax 中返回的内容类型

使用 ASPX、AJAX 控件或 JQuery 的下拉列表过滤器?

jquery.ajax请求aspx和ashx的异同 Jquery Ajax调用aspx页面方法