最近身邊的一個朋友做項目,其中有一個模塊需求要求使用JS去調用webService,讓我幫著想想招,因為以前卻實沒有這麼做過。經過大約一個小時的測試,成功了。發現這個東東寫出來之後是這麼簡單。當初是我想復雜了。分享一下測試時寫的代碼,希望對大家有所幫助。
WebService文件內容
代碼
using System;using System.Web;using System.Collections;using System.Collections.Generic;using System.Web.Services;using System.Web.Services.PRotocols;using System.Web.UI.MobileControls;/// <summary>/// JSWebService 的摘要說明/// </summary>[WebService(Namespace = "http://tempuri.org/")][WebServiceBinding(ConformsTo = Wsiprofiles.BasicProfile1_1)][System.Web.Script.Services.ScriptService]public class JsWebService : System.Web.Services.WebService{ public JsWebService() { //如果使用設計的組件,請取消注釋以下行 //InitializeComponent(); } [WebMethod] public string GetString() { return "GetString"; } [WebMethod] public string GetString(string name) { return string.Format("{0}歡迎您的到來!", name); } [WebMethod] public List<string> GetList() { List<string> listStr = new List<string>(); for (int i = 0; i < 10; i++) { listStr.Add("test" + i); } return listStr; } [WebMethod] public List<JsWebServiceObject> GetObjectList() { List<JsWebServiceObject> objs = new List<JsWebServiceObject>(); for (int i = 0; i < 10; i++) { JsWebServiceObject obj = new JsWebServiceObject("name" + i, i + 20); objs.Add(obj); } return obJS; }}
調用WebService的ASPx頁面代碼
代碼
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.ASPx.cs" Inherits="_Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHtml 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"><html XMLns="