Нужна js-функция. Каждый раз, когда выходит запись, ip заменяется на город. Пятница написала небольшой кусочек секретной информации в базе данных есть только ip-адрес, а какой это город, среднестатистический посетитель не знает! IP-адрес приходит от. Если в таблице есть еще один столбец для сохранения города, но подлинности вообще нет Было бы здорово, если бы IP-адрес можно было превратить в город. и загрузить базу данных. Но это немного расточительно для этого требования. К счастью, есть много веб-сайтов, которые предоставляют запрос. Если я смогу превратить его результат в мою проблему, я ее решу.
Требуется функция js всякий раз, когда появляется запись, замените ip на город:
Скопируйте код кода следующим образом:
<тип сценария=текст/javascript>
функция queryAddress(strID){
пытаться{
вар qIp=document.getElementById(ip_+strID);
var qUrl='http://ip.wanvee.cn/GetIp.ashx?ipstr='+qIp.firstChild.nodeValue;
вар ajax = новый Ajax.Request(qUrl, {
метод: «получить»,
onSuccess: функция (strResponse) {
вар resContent = strResponse.responseText;
var strStruct=resContent.substring(resContent.lastIndexOf()+1,resContent.length);
qIp.innerHTML=strStruct.split()[0];
}
});
}поймать(е){}
}
</скрипт>
Напишите тестовый пример:
<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
Два вышеприведенных кода возвращают только текст.
http://www.youdao.com/smartresult-xml/search.s?type=ip&q=221.123.123.123
Это возвращает XML
Закончив писать, я понял проблему: Ajax не поддерживает междоменную отправку. Это не проблема: мы используем скрипт для написания страницы. Затем мы можем получить целевой URL. данные, которые нас интересуют! См. этот пост: http://topic.csdn.net/t/20030619/12/1933920.html.
Немного измените js-код:
Скопируйте код кода следующим образом:
функция queryAddress(strID){
пытаться{
вар qIp=document.getElementById(ip_+strID);
var qUrl='queryiplocal.asp?ip='+qIp.firstChild.nodeValue;
вар ajax = новый Ajax.Request(qUrl, {
метод: «получить»,
onSuccess: функция (strResponse) {
qIp.innerHTML=strResponse.responseText;
}
});
}поймать(е){}
}
Ниже приведен исходный код файла ASP:
Скопируйте код кода следующим образом:
<%
Response.ContentType=текст/xml
Response.Charset=GB2312
Тусклый стрИП,strPattern
strIP=Request.QueryString(ip)
strPattern=^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}$
Если strIP= или IsNumeric(strIP), то
Ответ.Конец()
ИначеЕсли Не serRegValidate(strPattern,strIP) тогда
Ответ.Конец()
Конец, если
Тусклый strURL:strURL=http://www.youdao.com/smartresult-xml/search.s?type=ip&q=
set parser=Server.CreateObject(MSXML2.DOMDocument)
parser.async=false
parser.ValidateOnParse=истина
parser.setProperty ServerHTTPRequest, правда
parser.load(strURL)
если parser.parseError.errorCode<>0, то
Ответ.Конец()
конец, если
set currNode=parser.selectNodes(//product)
Dim strLocal:strLocal=currNode.item(0).selectSingleNode(location).text
Response.Write Split(strLocal, )(0)
%>