创建webservices时
1.
[WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [ToolboxItem(false)] // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。 [System.Web.Script.Services.ScriptService]
[System.Web.Script.Services.ScriptService]默认是注释掉的 将注释去掉
2. 修改webconfig
web.config文件中的 <system.web> 节点下加入:
<webServices>
<protocols>
<add name= "HttpPost"/>
<add name= "HttpGet"/>
</protocols>
</webServices>>
3.js代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <script src="js/jquery-1.4.2.js" type="text/javascript"></script> <head runat="server"> <title>无标题页</title> </head> <script type="text/javascript"> $(document).ready(pageLoad); // 载入时进行执行的方法 function pageLoad() { BindCallHello(); } function BindCallHello() { $("#btnCallHello").click(function() { $.ajax({ type: "post", //访问WebService使用Post方式请求 url: "http://localhost:43070/Service1.asmx/HelloWorld", //调用Url(WebService的地址和方法名称组合---WsURL/方法名) data: {}, //这里是要传递的参数,为Json格式{paraName:paraValue} contentType: "Application/Json", // 发送信息至服务器时内容编码类型 beforeSend: function(XMLHttpRequest) { XMLHttpRequest.setRequestHeader("Accept", "Application/Json"); // 接受的数据类型。(貌似不起作用,因为WebService的请求/返回 类型是相同的,由于请求的是Json,所以,返回的默认是Json) }, success: function(data) { var jsonValue = data; alert(jsonValue.d); // 输出Json }, complete: function(XMLHttpRequest, textStatus) { var returnText = XMLHttpRequest.responseText; $("#backData").html(returnText); // 输出服务器端返回数据 } }); }); } </script> <body> <div> <button id="btnCallHello" value="button" style="width:100px"/> <div id="backData"> </div> </div> </body> </html>
4 webservices代码
using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Linq; using System.Web; using System.Web.Services; using System.Web.Services.Protocols; using System.Xml.Linq; namespace WS_Server { /// <summary> /// Service1 的摘要说明 /// </summary> [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [ToolboxItem(false)] // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。 [System.Web.Script.Services.ScriptService] public class Service1 : System.Web.Services.WebService { [WebMethod(true,Description="test")] public string HelloWorld() { return "Hello World"; } } }
时间: 2024-10-13 03:59:05