AJAX备忘录

本文记录了一个在JavaScript中因方法名设置不当导致的AJAX调用失败的问题。作者发现将方法命名为start()会导致网页无法正常工作,并提供了修改后的示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

很郁闷,花了很长时间才找出这个bug:javascript 中写方法时不要把方法名 定义为: function start()  ,不信你试试,web页面是不能正确使用的! 我想start()这个名字是保留字或者禁用的把,具体原应不知道。

下面是我今下午做的例子代码:

ajax.js

// JavaScript Document

var xmlhttp;
function createxmlhttprequest()
{
    
if(window.ActiveXObject)
    
{
        xmlhttp 
= new ActiveXObject("Microsoft.XMLHTTP");
    }

    
else if(window.XMLHttpRequest)
    
{
        xmlhttp 
= new XMLHttpRequest();
    }

}


function starts()
{
    alert(
"begin AJAX .....");
    
    createxmlhttprequest();
    
    xmlhttp.onreadystatechange 
= handlechange;
    xmlhttp.open(
"get","163.xml",true);
    xmlhttp.send(
null);
}


function handlechange()
{
    
if(xmlhttp.readyState==4)
    
{
        
if(xmlhttp.status==200)
        
{
            readxml();
            }

        
        }

}


function readxml()
{
    
var xmldoc=xmlhttp.responseXML;
    
var node=xmldoc.getElementsByTagName("content")[0];
    
var content=node.childNodes[0].nodeValue;
    
//alert(content);
    //document.getElementById("div1").innerHTML=content;
      document.getElementById("div1").innerHTML = content;
}

test.jsp

<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>ajax</title>
<script  src="js/ajax.js"></script>
</head>

<body>

<div id="all">
    
<form action="#">
        
<input name="" type="button"  value="open xml" onclick="starts();"/>
    
</form>
    
    
<href="#" onclick="starts();">goajax</a>
    
<hr />
    
<div id="div1">  
    waiting open xmlfile.............
    
</div>
</div>    
</body>
</html>

163.xml

 

<?xml version="1.0" encoding="GB2312"?>
<document>
     
<title>网易通行证服务条款</title>
     
<author>163</author>
     
<content>猫扑网(mop.com)服务使用协议(修订版)</content>
</document>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值