'' is not defined js传递的参数未定义

jsp页面代码:

<td style="font-weight:blod;text-align:center;vertical-align:center" width="150px">
<a onClick="deleteWorker(<%=list.get(i).getNumber() %>)">
<span style="color:blue">删除</span></a></td>	  			

js代码:

function deleteWorker(number){
	/* 使用ajax进行异步请求 */
	var xhr = null;
	 if(window.ActiveXObject){
	    	xhr = new ActiveXObject("microsoft.xmlhttp");
	    }else{
	    	xhr = new XMLHttpRequest();
	    }  
	 xhr.onreadystatechange = function(){
		 if(xhr.redayState==4&&xhr.status==200){
			 if(xhr.responseText=="false"){
				 alert("删除失败");
			 }if(xhr.responseText=="true"){
				 alert("删除成功");
			 }
		 }
	 };
	 xhr.open("POST","deleteWorker",true);
	 xhr.setRequestHeader("content-type","application/x-www-form-urlencoded");
	 xhr.send("number="+number);
}

        在点击删除的时候,没有反应,我使用浏览器自带的控制台查看,发现报错:'M001' is not defined,也就是说向js传递的值没有定义,但传递数字的时候就没有问题。这个问题困扰了我很久,后来发现给传递的参数套上引号就解决了这个问题。

       因为不加引号的话,带字符的值如M001会被认为是变量,自然就会报未定义的错误,套上引号后,被认为是字符串,自然就没有问题了!

修改后的jsp代码:

<td style="font-weight:blod;text-align:center;vertical-align:center" width="150px">
<a onClick="deleteWorker('<%=list.get(i).getNumber() %>')">
<span style="color:blue">删除</span></a></td>	  			

 

 


版权声明:本文为hahahqw原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。