1. 程式人生 > >ajax 調用 webService

ajax 調用 webService

mar ext 返回值 前臺 cnblogs chrom 取消 using ucc

前臺腳本
<script type="text/javascript">
        $(function () {
            $.ajax({
                type: "POST", //訪問WebService使用Post方式請求
                contentType: "application/json", //請求WebService 返回的數據類型(默認是xml,這裏聲明成了Json)
                url: "WebService.asmx/ReverseString", //調用WebService的地址和方法名稱組合 ---- WsURL/方法名
data: "{ value1: ‘明天到操場操到天明‘ }", //這裏是要傳遞的參數,格式為 data: "{paraName:paraValue}" dataType: json, //請求webService時,給webService傳遞數據的格式。 success: function (result) {//回調函數,result,返回值 alert(result.d); } }); });
</script>

前臺代碼註意點:

  1、 聲明了返回值和傳輸值為JSON格式的時候,傳遞的data應該是json格式的字符串,否則chrome會報錯

  2、關於result.d,很多博客都沒有說明。返回的json字符串的key之所以是d,是為了確保安全(防止XSS攻擊)(http://blog.sina.com.cn/s/blog_6c762bb30100wqs9.html)

後臺代碼

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 調用 webService