天天看点

天气预报 WebService Web JavaScript 调用代码

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>

继续阅读