Jquery Ajax:只执行Page_Load方法,而不是预期的方法

时间:2014-10-06 16:57:23

标签: jquery asp.net ajax webforms

我应该返回一个csv文件,所以我添加了这个方法,我将从客户端调用。现在,这个方法返回一个简单的字符串。

public partial class ResourceEdit_PriceSheet : xCI.Site.Web.BasePage
{
    protected void Page_Load( object sender, EventArgs e )
    {
    }


    [WebMethod]
    public string GenerateVendorPriceSheet(int suppID)
    {
        return "Succes!!!";
    }

}

这是ajax

function exportVendorPriceSheet() {
 var suppID = getParameterByName('SuppID');
 var url = '/ResourceEdit/ResourceEdit_PriceSheet.aspx/GenerateVendorPriceSheet';
 var id = { "suppID": suppID };
 $.ajax({
     type: "POST",
     url: url,
     data: id,
     dataType: "application/json",
     cache: false,
     success: function (result) {
         alert(result)
    }
  });
};

当我运行应用程序时,什么也没发生。正在执行GenerateVendorPriceSheet旁边的断点时,未点击Page_Load。并且响应包含整个页面而不是"成功!!!"。

然而,我读过的所有帖子都说明了如何从aspx页面调用方法。我错过了什么吗?

感谢您的帮助。

====================

以下是一些标题

Request URL:http://localhost/ResourceEdit/ResourceEdit_PriceSheet.aspx/GenerateVendorPriceSheet
Request Method:POST
Status Code:200 OK
Request Headersview source

Accept:*/*
Accept-Encoding:gzip,deflate
Accept-Language:en-US,en;q=0.8
Connection:keep-alive
Content-Length:11
Content-Type:application/x-www-form-urlencoded; charset=UTF-8

Form Data
suppID=2974

1 个答案:

答案 0 :(得分:2)

基于标题检查(Chrome开发工具):

  • 您要发送Content-Type:application/x-www-form-urlencoded; charset=UTF-8

所以(contentType):

$.ajax({
         type: 'POST',
         url: url,
         data: id,
         contentType: 'application/json; charset=utf-8',
         dataType: 'json'

H个....