js 関数が必要です。レコードが出力されるたびに、IP が都市に置き換えられます。データベースには IP アドレスしかなく、通常の訪問者はその都市を知りません。 IP アドレスの由来 都市を保存する列がもう 1 つありますが、IP アドレスを都市に変えることができれば素晴らしいでしょう。データベースをダウンロードしますが、この要件に対しては少し無駄な気がします。幸いなことに、その結果を問題解決に結びつけることができるクエリを提供する Web サイトがたくさんあります。
js 関数が必要です。レコードが出力されるたびに、IP を都市に置き換えます。
次のようにコードをコピーします。
<script type=text/javascript>
関数 queryAddress(strID){
試す{
var qIp=document.getElementById(ip_+strID);
var qUrl='http://ip.wanvee.cn/GetIp.ashx?ipstr='+qIp.firstChild.nodeValue;
var ajax=new Ajax.Request(qUrl,{
メソッド:「取得」、
onSuccess:function(strResponse){
var resContent=strResponse.responseText;
var strStruct=resContent.substring(resContent.lastIndexOf(,)+1,resContent.length);
qIp.innerHTML=strStruct.split( )[0];
}
});
}キャッチ(e){}
}
</script>
テストケースを書きます。
<span id=ip_2>221.123.123.123</span><script type=text/javascript>queryAddress('2')</script>
<span id=ip_3>221.123.123.123</span><script type=text/javascript>queryAddress('3')</script>
<span id=ip_4>221.123.123.123</span><script type=text/javascript>queryAddress('4')</script>
私が見つけたクエリ URL をいくつか挙げてみましょう。
http://www.ip.cn/getip.php?action=queryip&ip_url=221.123.123.123
http://ip.wanvee.cn/GetIp.ashx?ipstr=221.123.123.123
上記の 2 つはテキストのみを返します
http://www.youdao.com/smartresult-xml/search.s?type=ip&q=221.123.123.123
これは XML を返します
書き終えた後、Ajax はクロスドメイン送信をサポートしていないことに気付きました。これは問題ではありません。msxml のloadメソッドを使用してターゲットURLを取得します。興味のあるデータは、次の投稿を参照してください: http://topic.csdn.net/t/20030619/12/1933920.html
js コードを少し変更します。
次のようにコードをコピーします。
関数 queryAddress(strID){
試す{
var qIp=document.getElementById(ip_+strID);
var qUrl='queryiplocal.asp?ip='+qIp.firstChild.nodeValue;
var ajax=new Ajax.Request(qUrl,{
メソッド:「取得」、
onSuccess:function(strResponse){
qIp.innerHTML=strResponse.responseText;
}
});
}キャッチ(e){}
}
ASP ファイルのソース コードは次のとおりです。
次のようにコードをコピーします。
<%
Response.ContentType=テキスト/xml
Response.Charset=GB2312
Dim strIP、strPattern
strIP=リクエスト.QueryString(ip)
strPattern=^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}$
strIP= または IsNumeric(strIP) の場合
Response.End()
ElseIf Not serRegValidate(strPattern,strIP) then
Response.End()
終了の場合
Dim strURL:strURL=http://www.youdao.com/smartresult-xml/search.s?type=ip&q=
set parser=Server.CreateObject(MSXML2.DOMDocument)
parser.async=false
parser.ValidateOnParse=true
parser.setProperty ServerHTTPRequest,true
parser.load(strURL)
if parser.parseError.errorCode<>0 then
Response.End()
終了する場合
set currNode=parser.selectNodes(//product)
Dim strLocal:strLocal=currNode.item(0).selectSingleNode(location).text
Response.Write Split(strLocal, )(0)
%>