我想使用 ajax 从 jQuery 向 c# 发送数据(注意:我正在向同一页面发送请求)。我正在关注本教程http://encosia.com/using-jquery-to-directly-call-aspnet-ajax-page-methods/。
注意:这是 SharePoint 2010 webpart 解决方案上的 asp.net 3.5。
这是我的jQuery代码:
$.ajax({
type: "POST",
url: getURLWithoutQuery() + "/saveOrder",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
alert(msg.d);
}
});
// return the url of the current page without any query parameters
function getURLWithoutQuery() {
return location.protocol + '//' + location.host + location.pathname;
}
在 c# 中,主文件是PDFLibraryUserControl.ascx.cs
. 这是具有Page_Load
功能的。
但是我有另一个名为的类文件SaveStructure.cs
:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web.UI;
using System.Web.Services;
namespace PDFLibrary.PDFLibrary
{
public partial class SaveStructure : Page
{
[WebMethod]
public static int saveOrder()
{
return 1234;
}
}
}
我希望得到一个警告说1234
,但我得到了这个:
它与saveOrder
位于主文件之外的另一个文件上的函数有关吗?或者我的网址不正确?我不想在其中对 URL 进行硬编码,因为当前页面是 aspx 页面,并且还包含用于发送 POST(到同一页面)的 jQuery 代码。
有谁知道出了什么问题并可以解决这个问题?