码迷,mamicode.com
首页 > Web开发 > 详细

Ajax + webservices 解决方法

时间:2014-09-05 17:47:31      阅读:292      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   http   color   os   io   使用   java   

创建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";
        }
    }
}

 

Ajax + webservices 解决方法

标签:des   style   blog   http   color   os   io   使用   java   

原文地址:http://www.cnblogs.com/Small-Life/p/3958401.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!