ajax 調用 webService

前臺腳本 < script type ="text/javascript" >
 $(function () { $.ajax({ type: "POST", //訪問WebService使用Post方式請求
 contentType: "application/json", //請求WebService 返回的數據類型(默認是xml,這裏聲明成了Json)
 url: "WebService.asmx/ReverseString", //調用WebService的地址和方法名稱組合 ---- WsURL/方法名
 data: "{ value1: '明天到操場操到天明' }", //這裏是要傳遞的數據(string格式的),JSON格式的爲 data: "{paraName:paraValue}"
 dataType: 'json', //請求webService時,將webService傳遞回來的數據看成成一個JSON。
         cache:false,//強迫當前請求必須訪問後臺,不能使用客戶端的緩存
success: function (result) {//回調函數,result,返回值 alert(result.d); } }); }); </script>

前臺代碼注意點:javascript

  一、 聲明瞭返回值和傳輸值爲JSON格式的時候,傳遞的data應該是json格式的字符串,不然chrome會報錯html

  二、關於result.d,不少博客都沒有說明。返回的json字符串的key之因此是d,是爲了確保安全(防止XSS攻擊)(http://blog.sina.com.cn/s/blog_6c762bb30100wqs9.html)java

後臺代碼web

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;

namespace Demo
{
    /// <summary>
    /// WebService 的摘要說明
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // 若要容許使用 ASP.NET AJAX 從腳本中調用此 Web 服務,請取消對下行的註釋。
    [System.Web.Script.Services.ScriptService]
    public class WebService : System.Web.Services.WebService
    {
        [WebMethod]
        public string ReverseString(string value1)//這個方法的參數必定要和ajax的data中的key的名字相同,這裏是value1,ajax中data的key也是value1
        {
            char[] arr = value1.ToCharArray();
            Array.Reverse(arr);
            value1 = new string(arr);
            return value1;                       //返回的string會自動轉換成JSON?           
        }
    }
}

 若是是本項目中ajax請求後臺,那麼優先推薦使用通常處理程序。ajax

相關文章
相關標籤/搜索