Ajax GET请求到ASP.NET页面方法?
我在本周遇到的一种情况:我们有一个jQuery Ajax调用,该调用返回到服务器以获取数据
$.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请求起作用的方法?
回答:
出于安全原因,ASP.Net AJAX页面方法仅支持POST请求。
以上是 Ajax GET请求到ASP.NET页面方法? 的全部内容, 来源链接: utcz.com/qa/406193.html