我需要使用jquery ajax
并使用vanilla javascript
我可以使用asp.net PageMethods
执行此操作,也可以使用asp.net MVC(调用控制器方法)。
使用Page Methods
就像这样
PageMethods.MethodName(...);
我知道如何调用WCF service
或WebService
中的方法但我需要在javascript
或Jquery
我该怎么做?
我在[WebMethod]
上尝试了Web Method
这是静态的,但它不起作用。我需要Get
和Post
解决方案
答案 0 :(得分:1)
正如您所说,您需要使用[WebMethod]
属性修饰的静态方法。已经有一段时间了,但这里有一些我在旧项目中使用的代码示例:
$.ajax({
type: "POST",
url: "AjaxBridge.aspx/GetPatientInfo",
contentType: "application/json; charset=utf-8",
dataType: "json",
data: "{'personID':'" + personID + "'}",
success: function (data) {
}
});
我们有一个名为AjaxBridge.aspx的专门页面,除了处理像这样的ajax调用之外什么都不做(我不喜欢这个人的设计)。您也可以将它们直接嵌入当前页面或UserControl中。只需确保引用相对于当前页面的正确路径或绝对路径。
被调用的实际服务代码如下所示:
[WebMethod]
public static PersonItem GetPatientInfo(int personID)
{
...
}
为了支持HTTP GET,您可能需要将以下属性添加到服务方法中:
[ScriptMethod (UseHttpGet = true)]
当然,将ajax jquery方法类型更改为GET