java web的一些特殊用法(一)
1.查看jquery ajax请求的数据的具体格式
很多时候,我们需要查看到ajax返回时的具体格式才知道怎么去解析他。在最原始的ajax写法中,可以通过xmlhttp.responseText查看到ajax请求的原始数据,但使用框架后,这个数据就没法查到了。这里我们想到了一种跳过ajax框架的作法:直接使用链接请求:比如:
1 $.ajax({ 2 type: "get",//使用get方法访问后台 3 dataType: "json",//返回json格式的数据 4 url: "${ctx}/ai/AIAction.do?",//要访问的后台地址 5 data: "method=get_ai_list",//要发送的数据 6 success: function(data){//msg为返回的数据,在这里做数据绑定 7 /*代码体*/ 8 }, 9 error:function(){ 10 alert("error"); 11 } 12 });
可以直接使用请求${ctx}/ai/AIAction.do?method=get_ai_list到浏览器地址栏中查看。
顺便说一下,其实ajax请求的原理就是你后台给他什么,就带回来什么,并且是谁请求他,就将结果返回给谁。
2.layer弹出层与jquery不兼容的解决方案
本来只是一个bug,我开始被这个东西搞的很头疼。但后来我一想,为什么不从反面去应他呢,下面就说说这种做法。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51 |
<script src= "${ctx}/layer/layer.min.js" ></script> <script type= "${ctx}/js/jquery-1.8.3.js" ></script> function
zOpen(totalCount){ $.layer({ type : 2, title : ‘结帐消息‘ , iframe : {src : ‘${ctx}/jiezhang.jsp?totalCount=‘ +totalCount}, area : [ ‘400px‘
, ‘300px‘ ], offset : [ ‘100px‘ , ‘‘ ], time:3 }); } function
checkout(totalcount) { var
goodids = document.getElementsByName( "GoodsIDs" ); var
goodsidstr = "" ; for ( var
i = 0;i < goodids.length;i++) { //alert(sortids[i].value); goodsidstr += goodids[i].value+ ‘,‘ ; } goodsidstr = goodsidstr.substring(0,goodsidstr.lastIndexOf( ‘,‘ )); if (confirm( ‘你确认要支付‘ +totalcount+ ‘元?‘ )) { $.ajax({ url: ‘${ctx}/good/GoodServlet?action=add_orders&giflag=1&goodsidstr=‘ +goodsidstr, type: ‘post‘ , dataType: ‘xml‘ , timeout: 1000, error: function (){ alert( ‘校验失败‘ ); }, success: function (data){ $(data).find( "response" ).each( function (index,ele){ var
passed = $(ele).find( "passed" ).text(); if (passed == ‘true‘ ) zOpen(totalcount); else alert( ‘支付失败‘ ); }); } }); setTimeout( ‘reLoad()‘ ,6000); } else return ; } |
注意到这两段代码中都有$,他们是不一样的,第一个是$是来自layer层的,第二是来自jquery的,这个时候,要保持他们的兼容特性
就要注意到<script src="${ctx}/layer/layer.min.js"></script><script type="${ctx}/js/jquery-1.8.3.js"></script>第二个引用本来是错的,但为什么这里可以正常使用呢?主要是利用了浏览器的一个“容错的特性”,他们自动把第二个引用当作正确的引用,还不会报错。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。