加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 业界 > 正文

JSP jQuery的$.ajax方法失效的解决方法

发布时间:2018-09-15 10:01:32 所属栏目:业界 来源:站长网
导读:我的页面的代码如下,jquery-1.4.2.min.js导入没有题目,原来这个文件和jquery-1.4.2.min.js是放在webroot目次下的,可以正常运行。 可是我把这两个文件一路放在一个名为test的文件夹下后$.ajax(...)就像没有执行一样,处事器端一点回响都没有(基础就没有

我的页面的代码如下,jquery-1.4.2.min.js导入没有题目,原来这个文件和jquery-1.4.2.min.js是放在webroot目次下的,可以正常运行。
可是我把这两个文件一路放在一个名为test的文件夹下后$.ajax(...)就像没有执行一样,处事器端一点回响都没有(基础就没有会见TestServlet),赏识器的地点栏里只是在路径的末端加了个#号,没有什么变革,也就是说,页面只是调回本页面罢了。 alert("in test");和alert("end");都被执行了,就是中间的$.ajax没有执行

<head>
<script Charset="UTF-8" type='text/javascript' src='jquery-1.4.2.min.js'></script>
<script type="text/javascript">
$(document).ready(function() {
var age=0;
alert("in test");
$("a").click(function() {
alert("click");
$.ajax({
type: "GET",//http哀求方法
url: "TestServlet",//处事器端url地点
data: "name=weager"+"&age="+age,//发送给处事器端的数据
dataType: "json",//汇报JQuery返回的数据名目(譬喻xml、json、jsonp、script等)
success: callback //当哀求操纵完成数据正确返回时挪用callback函数。此处的ajax参数还可以有:complete、success、error。complete是指readystate==4时;success是指state==200时;error是指响应堕落可能理会处事器数据堕落。
//error: function(data){alert(data);}
});
alert("end");
});
});

function callback(data){
alert("call back 被挪用!")
alert(data.age);
$("div").html(data.age);
}
</script>

网上有关这个得题目很少,因为页面上没哟什么变革、处事器又没有任何回响,$.ajax要领又不是本身写的,以是找bug很是坚苦。其后必不得已,只有把调试深入到jquery里,可是jquery-1.4.2.min.js里没有换行,调试和查察代码很困,于是我下载了一个uncompressed版的jquery-1.4.2.js来替代jquery-1.4.2.min.js。然后用ie8调试(firebug也可以),调试到5179行查察xhr工具的responseText属性才发明处事器端的报错为404(...test/TestServlet is not avalible),这才知道是处事器再找Servlet的时辰找不到匹配的url。

于是我把web.xml里的url-pattern改为了test/TestServlet就可以了,可是test文件夹外的jsp文件会见沟通的Servlet时却出了想相同的错,这时我才想起来,要把jsp页面里的basePath配置一下(basePath浸染就是配置该页面的路径的前缀),就可以去掉url上的文件夹名了。

详细要领如下:

1. web.xml文件里url-pattern不必要窜改,保持原本的就可以了

2. 在<html>前面加上:

<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
3. 在<head></head>里添加:<base href="<%=basePath%>"> (base标签配置了该页面里其他路径的前缀)

OK~~搞定了,只要能找到报错就轻易办理题目,最怕的就是看不到报的错,运行又不正常!

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读