我已经在一个网站上工作了很长一段时间,大量使用ASP.Net 3.5以及它的许多ajax功能。我特别使用ScriptManager来注册WebServices(.asmx)。我还在整个地方使用他们的$ get('idnamehere')方法。我并没有真正使用任何 Ajax.Net预构建工具(比如Toolkit),一切都是自定义的。
我想转向jQuery,因为它看起来更有用。我需要注意什么?这是明智的吗?我应该从我的母版页中一起删除ASP.Net ScriptManager吗?
这里是我的JavaScript 目前的样子:
function doSomethingAjaxy() {
var dropDownList = $get('dropDownListClientIDHere');
MyWebServiceIRegistered.CallSomething(dropDownList.value, onSuccess, onFail);
}
function onSuccess(result) {
alert('OMGWEE: ' + result);
}
function onFail(result) {
alert('OMGFAIL: ' + result._message);
}
假设上述情况,如果我转移到JQuery需要改变什么?
答案 0 :(得分:2)
您可以使用jQuery的$ .ajax()方法来正常调用ASP.Net Web服务,而无需脚本管理器为您构建“调用者”。效率更高。像克里斯说的那样,encosia.com有一些关于这个主题的优秀文章。 $ get()可以用$('#idhere')[0]替换(返回对象),或省略[0]来调用任何特定于jQuery的方法。
您可能希望查看特定的Encosia.com文章:
http://encosia.com/2009/07/21/simplify-calling-asp-net-ajax-services-from-jquery/
答案 1 :(得分:1)
你仍然可以保留你的asmx服务和后端服务。访问www.encosia.com,了解一些关于使用jquery调用asmx服务的好帖子。 Fiddler也很有用,因此您可以看到正在生成的请求以及服务器的响应。希望这会有所帮助。