首页 > 代码库 > Ajax + webservices 解决方法

Ajax + webservices 解决方法

创建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="http://www.mamicode.com/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 = http://www.mamicode.com/data;"#backData").html(returnText); // 输出服务器端返回数据                }            });        });    }</script><body>    <div>     <button id="btnCallHello" value="http://www.mamicode.com/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";        }    }}

 

Ajax + webservices 解决方法