jqueryajax:只执行页面加载方法,而不是预期的方法
我应该返回一个csv文件,所以我添加了这个方法,我将从客户端调用它。现在,这个方法返回一个简单的字符串jqueryajax:只执行页面加载方法,而不是预期的方法,jquery,asp.net,ajax,webforms,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 GenerateVendorPriceS
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)
}
});
};
当我运行应用程序时,什么都没有发生。在执行加载页面旁边的断点时,断点未被击中。并且响应包含整个页面,而不是“Success!!!”
然而,我读过的所有帖子都说这就是如何从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
基于标题检查(Chrome开发工具):
- 您正在发送
内容类型:application/x-www-form-urlencoded;字符集=UTF-8
contentType
):
Hth….Ajax调用js函数驻留在哪里?作为同一
.aspx
的一部分,还是在不同的外部.js文件中?将其更改为var id JSON.stringify({“suppID”:suppID})代码>帮助?在同一个aspx文件中,即ResourceEdit\u PriceSheet.aspx
。让我试试。然后将url更改为'ResourceEdit_PriceSheet.aspx/generateendorpricesheet'不再维护对WebMethod的代码>支持。你应该考虑切换,因为它是很好的支持(更简单!)梅森:谢谢你的建议,但是如果我能,我就不会遇到太多麻烦。这部分代码位于一个遗留文件夹中,我们没有对其进行太多修改。现在它抱怨没有这样的方法(错误500)。这就是我得到的错误:未知的web方法generateEndorPriceSheet。参数名称:methodName
。将您的webmethod标记为public static
有效。非常感谢你。d的含义是什么?.d
-它是一种保护自己不执行可能有效的javascript(从某些webmethod或其他源返回)的方法。嗯。。。
$.ajax({
type: 'POST',
url: url,
data: id,
contentType: 'application/json; charset=utf-8',
dataType: 'json'