的情形我碰到这个星期跑:我们有一个jQuery的Ajax调用返回到服务器,以获得数据Ajax GET请求到ASP.NET页面方法?
$.ajax(
{
type: "POST",
contentType: "application/json; charset=utf-8",
url: fullMethodPath,
data: data,
dataType: "json",
success: function(response) {
successCallback(response);
},
error: errorCallback,
complete: completeCallback
});
fullMethodPath
是一个页面上的静态方法的链接(假设/MyPage.aspx/MyMethod
)。
public partial class MyPage : Page
{
// snip
[WebMethod]
public static AjaxData MyMethod(string param1, int param2)
{
// return some data here
}
}
这工作,没问题。
一位同事试图用类型为“GET”的电话替换此电话。它打破了,我不得不修复它。最后,我回到POST,因为我们需要修复很快,但它一直在窃听我,因为在这种情况下,GET的语义更加“正确”。
据我所知,jQuery将数据中的对象转换为查询字符串:/MyPage.aspx/MyMethod?param1=value1¶m2=value2
但我能找回的是页面的内容MyPage.aspx
。
这只是Page方法的一个“特征”,还是有一种使GET请求有效的方法?
究竟是什么问题?你的意思是什么*但我能找回的是页面MyPage.aspx。*的内容? GET请求没有工作吗? – 2010-03-07 18:56:15
@Felix:他意味着他得到了页面的全部内容,而不是调用页面方法。 – SLaks 2010-03-07 19:07:16
@Felix:澄清了我的意思是由页面方法 – pdr 2010-03-07 19:08:45