vb.net – 使用jquery访问webmethod
我目前正在使用
jquery ajax来调用pagemethod(效果很好);
$.ajax({ type: "POST",url: "ArticleList.aspx/GetArticleTags",data: "{'articleId' : " + articleId + "}",contentType: "application/json; charset=utf-8",dataType: "json",success: function (msg) { if (msg.hasOwnProperty("d")) { msg = msg.d; } var tags = JSON.parse(msg); //do something } }); 页面方法; <WebMethod()> Public Shared Function GetArticleTags(ByVal articleId As Integer) As String Using myDb As New MyRepository Dim js As New JavaScriptSerializer Dim returnString = js.Serialize((From t In myDb.GetArticleTags(articleId) Select t.TagId,t.Tag).ToList) Return returnString End Using End Function 我现在处于这个位置,我需要从多个页面访问我的GetArticleTags函数.为了快速启动并运行,我可以 >将该函数复制到我的新aspx页面,并以相同的方式调用它. 两者都很垃圾. 所以剩下的唯一合理方法是调用wcf(webget)方法. 我已经在解决方案中有一个宁静的web服务,但我对从我的webapp调用它很谨慎.我宁愿将所有代码都存储在我的webapp中,而不是依赖于将在同一iis服务器上的不同应用程序池中的Web服务.它可能需要冷启动等,我需要快速. 我使用模板“支持AJAX的WCF服务”向我的webapp添加了一个wcf文件.但是通过这样做,我正在使用web.config等中的端点弄乱我的webapp(我现在得到500个System.ServiceModel.ServiceActivationException异常) 所以,直到我的问题…. 非常感谢. 解决方法
您应该创建一个支持AJAX的ASMX服务或使用普通的ASHX处理程序.
如果你创建一个ASHX处理程序,你需要自己处理解析和安全性;我推荐一种ASMX服务,它与您的页面方法非常相似. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |