本文目錄一覽:
如何用JavaScript調用Web服務
通過JavaScript中的兩個方法——useService和callService來調用一個已存在的Web服務
callService這個方法的語法:
iCallID = sElementID.sFriendlyName.callService([oCallHandler], funcOrObj, oParam);
iCallID是調用服務後返回的ID。
sElementID是useService方法的一個控制項元素ID。稍後講如何用userServie。
sFriendlyName是服務名,比如.NET中Default.asmx,則這裡是Default。
oCallHandler是處理響應結果的回調函數,因為有些請求無需關注響應結果,在這裡是可選參數。
funcOrObj是web服務中的方法,在.NET中便是標有[WebMethod]的一些公用方法。
oParam是Web Method中的參數,可以是0,1,2,…個參數。
useService語法:
useService剛開始讓我費解的是哪裡來的這個方法,後來發現我們需要去微軟官方上下載一個叫webservice.htc的文件。
下載完這個文件,將其放到根目錄下,在你的html里寫上這樣一段代碼就輕鬆搞定:
body style=”behavior: url(webservice.htc)”/
在onload時初始化web服務,初始化代碼如下:
var iCallID;
function init() {
serviceZivsoft.useService(“Default.asmx?WSDL”, “Default”);
}
關於useService更詳細的解釋,可以去MSDN上查閱,用法還是比較簡單的。
js是web必須學習的么?
是的,必須要學,並且要學會!web前端需要學會HTML、js、CSS、HTML5、CSS3等基礎,其次可以學點vue等前端框架。js是做動態網頁,和後台交互必須的語言,可以說一個好的網頁肯定繞不開js,所以,加油學習吧!
js怎麼調用webserver
步驟1. 在web.config中的system.web節點裡加入
!–此節點可允許腳本跨域調用webservice–
webServices
protocols
add name=”HttpPost”/
add name=”HttpGet”/
/protocols
/webServices
!–此節點可允許腳本跨域調用webservice–
步驟2. webservice代碼
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Mvc;
namespace WebService
{
/// summary
/// WebService1 的摘要說明
/// /summary
[WebService(Namespace = “”)]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// 若要允許使用 ASP.NET AJAX 從腳本中調用此 Web 服務,請取消對下行的注釋。
[System.Web.Script.Services.ScriptService]
public class WebService1 : System.Web.Services.WebService
{
[ValidateInput(false)]
[WebMethod(Description = “測試”)]
public void getDBTableInfos(string EnterpriseCode)
{
HttpContext.Current.Response.ContentType = “application/json;charset=utf-8”;
string jsonCallBackFunName = string.Empty;
jsonCallBackFunName = HttpContext.Current.Request.Params[“jsoncallback”].ToString();
HttpContext.Current.Response.Write(jsonCallBackFunName + “({ \”Result\”: \”” + EnterpriseCode + “\” })”);
}
}
}
步驟3. html頁面部分
!DOCTYPE html
html
head
titleIndex/title
script src=”” type=”text/javascript”/script
script type=”text/javascript”
$(function () {
$(“#btnSubmit”).click(function () {
var EnterpriseCode = “39”;
var dataStr = “EnterpriseCode=” + EnterpriseCode;
$.ajax({
type: “get”,
url: “?”,
dataType: “jsonp”,
jsonp: ‘jsoncallback’,
data: dataStr,
success: function (result) {
//返回結果
alert(result.Result);
}
});
});
});
/script
/head
body
div
input id=”btnSubmit” type=”button” value=”查詢” /
/div
/body
/html
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/153436.html