จำเป็นต้องมีฟังก์ชัน js ทุกครั้งที่มีการบันทึก ip จะถูกแทนที่ด้วยเมือง วันศุกร์ มีเพียงที่อยู่ IP ในฐานข้อมูลและผู้เยี่ยมชมโดยเฉลี่ยไม่ทราบว่าเมืองใด ที่อยู่ IP มาจาก ถ้าใน มีอีกหนึ่งคอลัมน์ในตารางที่จะบันทึกเมือง แต่ไม่มีความถูกต้องเลย คงจะดีถ้าที่อยู่ IP สามารถเปลี่ยนเป็นเมืองได้ และดาวน์โหลดฐานข้อมูล แต่รู้สึกสิ้นเปลืองไปเล็กน้อยสำหรับข้อกำหนดนี้ โชคดีที่มีเว็บไซต์หลายแห่งที่ให้บริการแบบสอบถาม ถ้าฉันสามารถเปลี่ยนผลลัพธ์เป็น .ปัญหาของฉันได้
จำเป็นต้องมีฟังก์ชัน js เมื่อใดก็ตามที่มีการบันทึกออกมา ให้แทนที่ ip ด้วยเมือง:
คัดลอกรหัสรหัสดังต่อไปนี้:
<ประเภทสคริปต์=ข้อความ/จาวาสคริปต์>
ฟังก์ชัน 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: ฟังก์ชั่น (strResponse) {
var 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 ไม่รองรับการส่งข้ามโดเมน นี่ไม่ใช่ปัญหา เราใช้สคริปต์ในการเขียนเพจ ใช้วิธีการโหลด msxml เพื่อโหลด 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: ฟังก์ชั่น (strResponse) {
qIp.innerHTML=strResponse.responseText;
-
-
}จับ(จ){}
-
ต่อไปนี้เป็นซอร์สโค้ดไฟล์ ASP:
คัดลอกรหัสรหัสดังต่อไปนี้:
-
Response.ContentType=ข้อความ/xml
Response.Charset=GB2312
หรี่ strIP, strPattern
strIP=คำขอQueryString(ip)
strรูปแบบ=^[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=
ชุด parser=Server.CreateObject(MSXML2.DOMDocument)
parser.async=false
parser.ValidateOnParse=true
parser.setProperty ServerHTTPRequest จริง
parser.load(strURL)
ถ้า parser.parseError.errorCode<>0 แล้ว
การตอบสนองสิ้นสุด()
สิ้นสุดถ้า
ตั้ง currNode=parser.selectNodes(//ผลิตภัณฑ์)
หรี่ strLocal:strLocal=currNode.item(0).selectSingleNode(location).text
Response.เขียนแยก(strLocal, )(0)
-