最近学习Jquery 调用Web service遇到些问题,最后解决。
写出来希望对大家有帮助。
step1:打Ajax补丁:ASPAJAXExtSetup 可以在网上下载很多,下载后解压缩直接安装
step2:在项目引用System.Web.Extensions
System.Web.Extensions.Design
step3:在web service 里面引用:Imports system.Web.Script.Services
step4:web.config 配置:
<httpHandlers>
<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</httpHandlers>
下面把代码贴出来供大家参考:
Web Service Code
Imports System.Web.Services
Imports System.Web.Services.Protocols
Imports System.ComponentModel
Imports system.Web.Script.Services
<WebService(Namespace:="http://tempuri.org/")> _
<WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
<System.Web.Script.Services.ScriptService()> _
Public Class WebService1
Inherits System.Web.Services.WebService
<WebMethod()> _
Public Function HelloWorld() As String
Return "Hello World"
End Function
<WebMethod()> _
Public Function Hello(ByVal name As String) As String
Dim str As String = ":Chary"
Return "Hello" & str & name
End Function
End Class
JSCode
<script type="text/javascript" src="jquery1.72/jquery-1.7.2.min.js"></script>
<script type="text/javascript">
$("#btnHelloWorld").click(function(){
$.ajax({
type: "post",
data:'',
url: "WebService1.asmx/HelloWorld",
success: function(result){
alert(result.text);
},
contentType: "application/x-www-form-urlencoded",
error: function (XMLHttpRequest, textStatus, errorThrown)
{
alert( textStatus);
}
});
});
//传入1个参数
$("#btnHello").click(function(){
$.ajax({
type: "POST",
url: "WebService1.asmx/Hello",
data: "{name:'KiMoGiGi'}",//'{name:dd}'
contentType: "application/json",
dataType: "json",
success: function(result) { alert(result);
},
error: function(xhr) {
alert("提交出错,请重试。错误信息:" + xhr.responseText);
}
}); });
</script>