为什么我用eclipse写jsp的时候,如果用内部js能调用,但是复制到外部的js却不能呢?路径没问题,哪位大神能给解释一下?//ajaxDemo.js
$(document).ready(function(){
alert("!!!!!");
$("#btn").click(function(){
alert("!");
$.ajax({
url:"getdata",
type:"post",
data:null,
dataType:"json",
success:function(data){
$("#msg").append("姓名:" + data.name + "<br>");
$("#msg").append("年龄:" + data.age + "<br>");
},
error:function(){
alert("ajax请求失败");
}
});
});
});
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript" src="js/jquery-1.8.2.js"></script>
<script type="text/javascript" src="js/ajaxDemo.js"></script>
</head>
<body>
<input id="btn" type="button" value="使用ajax取得数据">
<div id="msg"></div>
</body>
</html>
ajaxjavascript

解决方案 »

  1.   

    页面直接放在webRoot下面。然后js是在webRoot/js/下面
      

  2.   

    我曾经碰到过,后来发现是那个对的路径有问题,要改成不对的,你可以试着把路径里的js去掉,改成“ajaxDemo.js”,hava a try!
      

  3.   

    我曾经碰到过,带上basepath也不行,似乎是struts的namespace不是默认的“/”的原因,我就把正确的路径改成错误的居然好了,很奇怪!
      

  4.   

        <base href="<%=basePath%>"> 你懂得
      

  5.   

    最好在上面的jsp页面中加上basepath,然后再引用<%=basepath%>js/javascript.js试试。