1、 在<system.web></system.web>之間加下面一段
<webServices>
<protocols>
<add name="HttpSoap"/>
<add name="HttpPost"/>
<add name="HttpGet"/>
<add name="Documentation"/>
</protocols>
</webServices>
因為我的webservice是使用javascript 在頁面調用,而且採用post方式通過httprequest調用webservice,所以
其實只需要<add name="HttpPost"/> 這個配置
2、
使用javascript 調用 webservice
var PNRList=new Array(<%=PNRArray %>);---c#代碼中定義的string數組
var currentIndex=-1;
function StartCheckPNRStatus() --
{
if(PNRList.length!=0)
{
setTimeout(checkStatus,2000);--頁面載入完畢後,2秒調用方法
//setInterval(checkStatus,2000);使用定時器
}
}
function checkStatus()
{
currentIndex++;
if(currentIndex==PNRList.length)
{
//clearInterval(timerHandle) 定時器,在前面定義個timerhandle
}
else
{
var httpRequest;
if(window.XMLHttpRequest)
{
httpRequest=new window.XMLHttpRequest();
}
else
{
httpRequest=new ActiveXObject("Microsoft.XMLHTTP");
}
httpRequest.onreadystatechange=function ()
{
if( httpRequest.readyState==4 )
{
if( httpRequest.status==200)
{
var xmlDom=httpRequest.responseXML.documentElement;
var PNRStatus=xmlDom.childNodes(0).text;--由於我返回的是字串,所以可以這樣取值
//alert(PNRStatus)
spanPNRStatus.innerText=PNRStatus;
if(PNRStatus!="RR")
{
/* spanLogBtn.style.display="";
spanCheckBtn.style.display="";
noRRCount++;
var spanNumOfTicket=document.getElementById("spanNumOfTicket"+PNRList[currentIndex]);//失敗訂單票數
var spanPriceDue=document.getElementById("spanPriceDue"+PNRList[currentIndex]);//失敗訂單金額
totalTicketNum+=parseInt(spanNumOfTicket.innerText);
totalPriceDue+=Number(spanPriceDue.innerText);
//給資料統計頭賦值
var spanTotalOrderCount=document.getElementById("spanTotalOrderCount");
var spanRRCount=document.getElementById("spanRRCount");
var spanNoRRCount=document.getElementById("spanNoRRCount");
var spanTotalTicketNum=document.getElementById("spanTotalTicketNum");
var spanTotalPriceDue=document.getElementById("spanTotalPriceDue");
spanTotalOrderCount.innerText=PNRList.length;
spanRRCount.innerText=PNRList.length-noRRCount;
spanNoRRCount.innerText=noRRCount;
spanTotalTicketNum.innerText=totalTicketNum;
spanTotalPriceDue.innerText=totalPriceDue.toFixed(2); */ 這塊是自訂
}
checkStatus();//當返回結果時,繼續下一次取數組的值,繼續調用webservice
}
}
}//end httpRequest.onreadystatechange
httpRequest.open("post", "IBEServiceGetPnrStatusByPNR.asmx/GetPNRStatusFromPNR", true);
httpRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
httpRequest.send("PNR="+PNRList[currentIndex]);
}
}
StartCheckPNRStatus();
</script>--在頁面載入完畢後 執行這個調用webservice的方法
也可以使用定時器來定時調用webservice