javascript, webservice, 天气预报
运行演示,请点击这里:>>天气预报 WebService JavaScript Web页面调用代码,转载及使用该代码,请保留作者信息,其它部分您可任意修改。
源代碼:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>MoFun.CC 天气预报 WebService Web 页面 JavaScript 调用代码</title>
<mce:script language="javascript" defer="true"><!--
var request;
function createXMLHttpRequest() {
try
{
request = new XMLHttpRequest();
return request;
}
catch (Error){
try{
request = new ActiveXObject("MSXML2.XMLHTTP");
return request;
}
catch (oError){
}
}
}
function trim(str){
return str.replace(/(^/s*)|(/s*$)/g, "");
}
var value=new Array();
var variable=new Array();
function test() {
var Addr=trim(document.getElementById("Address").value);
if(Addr!="")
RequestByPost(Addr,"http://srv.mofun.cc/weather/weather.dll/soap/IWeatherDataModule");
}
function handleStateChange()
{
var h=document.getElementById("Label1");
if(request.readyState==4)
{
if(request.status==200)
{
h.innerHTML=request.responseText;
}
}
}
function getlen(str)
{
var bytesCount=0;
for (var i = 0; i < str.length; i++)
{
var c = str.charAt(i);
if (/^[u0000-u00ff]$/.test(c))
{
bytesCount += 1;
}
else
{
bytesCount += 2;
}
}
return bytesCount;
}
function RequestByPost(value,url)
{
createXMLHttpRequest();
var data;
data = '<?xml version="1.0"?>';
data = data + '<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">';
data = data + '<SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">';
data = data + '<NS1:GetWeather xmlns:NS1="urn:WeatherDataUnit-IWeatherDataModule">';
data = data + '<CityNameOrCityNumber xsi:type="xsd:string">'+value+'</CityNameOrCityNumber>';
data = data + '</NS1:GetWeather>';
data = data + '</SOAP-ENV:Body>';
data = data + '</SOAP-ENV:Envelope>';
request.onreadystatechange=handleStateChange;
request.open("POST",url, true);
request.setRequestHeader ("Content-Type","text/xml; charset=utf-8");
request.setRequestHeader ("Content-Length",getlen(data));
request.setRequestHeader ("SOAPAction",'urn:WeatherDataUnit-IWeatherDataModule#GetWeather');
request.send(data);
}
// --></mce:script>
</head>
<body>
<form id="form1" runat="server">
<div>
<body style="font-size:14px" mce_style="font-size:14px">
请输入地区或地区长途区号:
<input type="Edit" id="Address" maxlength="30" value="010"/>
<!--<input type="button" id="btn2" οnclick="javascript:test();" value="通过 MoFun.CC 天气预报 WebService 获得天气情况"/>-->
<input type="button" id="btn2" οnclick="javascript:test();" maxlength="20" value="查询"/><br/>
<Label id="Label1"></Label><br/>
<a href="" target="_blank" rel="external nofollow" target="_blank">天气预报 WebService 调用地址及说明>></a>
</body>
</div>
</form>
</body>
</html>