Se necesita una función js. Cada vez que aparece un registro, la ip se reemplaza con la ciudad. El viernes escribió una pequeña información clasificada. ¡Solo está la dirección IP en la base de datos y el visitante promedio no sabe de qué ciudad se trata! La dirección IP proviene de. Si hay una columna más en la tabla para guardar la ciudad, pero no hay ninguna autenticidad. Sería genial si la dirección IP pudiera convertirse en una ciudad. Por supuesto, puede bajar. y descargar la base de datos. Pero parece un poco derrochador para este requisito. Afortunadamente, hay muchos sitios web que brindan consultas. Si puedo convertir su resultado en mi problema.
Se necesita una función js Cada vez que salga un registro, reemplace la ip con la ciudad:
Copie el código de código de la siguiente manera:
<tipo de script=texto/javascript>
función consultaDirección(strID){
intentar{
var qIp=document.getElementById(ip_+strID);
var qUrl='http://ip.wanvee.cn/GetIp.ashx?ipstr='+qIp.firstChild.nodeValue;
var ajax=nuevo Ajax.Request(qUrl,{
método: 'obtener',
onSuccess:función(strRespuesta){
var resContent=strResponse.responseText;
var strStruct=resContent.substring(resContent.lastIndexOf(,)+1,resContent.length);
qIp.innerHTML=strStruct.split( )[0];
}
});
}captura(e){}
}
</script>
Escribe un caso de prueba:
<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>
Enumeremos algunas URL de consulta que encontré:
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
Los dos anteriores solo devuelven texto.
http://www.youdao.com/smartresult-xml/search.s?type=ip&q=221.123.123.123
Esto devuelve XML
Después de terminar de escribir, me di cuenta de un problema. Ajax no admite el envío entre dominios. Esto no es un problema: usamos un script para escribir una página. ¡Utilice el método de carga de msxml para cargar la URL de destino! Datos que nos interesan. Consulte esta publicación: http://topic.csdn.net/t/20030619/12/1933920.html
Cambie ligeramente el código js:
Copie el código de código de la siguiente manera:
función consultaDirección(strID){
intentar{
var qIp=document.getElementById(ip_+strID);
var qUrl='queryiplocal.asp?ip='+qIp.firstChild.nodeValue;
var ajax=nuevo Ajax.Request(qUrl,{
método: 'obtener',
onSuccess:función(strRespuesta){
qIp.innerHTML=strResponse.responseText;
}
});
}captura(e){}
}
El siguiente es el código fuente del archivo ASP:
Copie el código de código de la siguiente manera:
<%
Respuesta.ContentType=texto/xml
Respuesta.Charset=GB2312
Tira tenue, patrón de cuerda
strIP=Solicitud.QueryString(ip)
strPattern=^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}$
Si strIP = o IsNumeric (strIP) entonces
Respuesta.Fin()
De lo contrario, si no es serRegValidate(strPattern,strIP), entonces
Respuesta.Fin()
Terminar si
Dim strURL:strURL=http://www.youdao.com/smartresult-xml/search.s?type=ip&q=
establecer analizador = Server.CreateObject (MSXML2.DOMDocument)
analizador.async=falso
analizador.ValidateOnParse=true
parser.setProperty ServerHTTPRequest, verdadero
analizador.carga(strURL)
si parser.parseError.errorCode<>0 entonces
Respuesta.Fin()
terminar si
establecer currNode=parser.selectNodes(//producto)
Dim strLocal:strLocal=currNode.item(0).selectSingleNode(ubicación).text
Respuesta.Escribir división(strLocal, )(0)
%>