ApacheHeiZ / JQuery

Learn of JQuery
0 stars 0 forks source link

Learn of JQuery #1

Open ApacheHeiZ opened 8 years ago

AlphaHinex commented 8 years ago

@ApacheHeiZ 直接在这里说就行

ApacheHeiZ commented 8 years ago

@AlphaHinex 这样啊

AlphaHinex commented 8 years ago

AlphaHinex commented 8 years ago

md,你名跟我的容易混啊,能不能别总模仿哥

ApacheHeiZ commented 8 years ago

@AlphaHinex 比如:登录页面,用jquery.ajax();往一个a.jsp页面发请求,这个我能做,也能成功的去到参数啥的,但是 返回 success(fanction(data))的时候的感觉 不会 在 a.jsp页面给的json数据返回并在登录的jsp处理

ApacheHeiZ commented 8 years ago

@AlphaHinex 瞎试过,html ,text,啥的 都不成功,

AlphaHinex commented 8 years ago

不用一直 @,是 participants 了应该就会一直通知了

AlphaHinex commented 8 years ago

success 的时候能得到 data 不?

ApacheHeiZ commented 8 years ago

返回html的时候 能得到

ApacheHeiZ commented 8 years ago

实际上我就想 返回个 OK 和 noOK

AlphaHinex commented 8 years ago

那现在问题是什么?

ApacheHeiZ commented 8 years ago

但是,alert data的时候能弹出个窗口 到 if 判断里面就不行了

ApacheHeiZ commented 8 years ago

你先跟我说说 jsp 怎么构建个JSON数据返回呗

ApacheHeiZ commented 8 years ago

我都是在网上瞎找的

AlphaHinex commented 8 years ago

估计你是没弄明白 js 是异步的,不是像 java 一样顺序执行的

jsp 构建 JSON 返回?返回给谁?jsp 不就是前端了吗,还往哪返?

ApacheHeiZ commented 8 years ago

A 请求 到 B,B判断,将值返回A,这样不行吗?

ApacheHeiZ commented 8 years ago

jquery怎么发请求到后台的java类的某个方法呢?

AlphaHinex commented 8 years ago

A 请求 到 B,B判断,将值返回A,这样不行吗?

可以,你现在不是已经在 success 里获得到返回来的 data 了嘛?

jquery怎么发请求到后台的java类的某个方法呢?

你请求的 url 就是某个类的方法处理的啊

ApacheHeiZ commented 8 years ago

直接写后台的类的方法名啊?

ApacheHeiZ commented 8 years ago

不应该是路径吗?在网上查的都是 到类然后应用struts 指向方法的

AlphaHinex commented 8 years ago

你现在后台不是直接 servlet 吗?servlet 不是得有一个对应的 url 吗?你就请求那个 url 就行

ApacheHeiZ commented 8 years ago

有没有现成的,给我一个 这样的 我看看,我哪里写的有问题

AlphaHinex commented 8 years ago

你把你的贴上来我看看

ApacheHeiZ commented 8 years ago

$(function(){ $("#image").click(function(){ var username=$("#username").val(); var password=$("#password").val(); alert(username+"/r/n"+password); $.ajax({ type:"POST", url:"JQueryverify.jsp", dataType:"json", data:{username:username,password:password}, success:function(data){ alert(data.result); }

            });
        });
    });
ApacheHeiZ commented 8 years ago

绑在 imag点击上了

ApacheHeiZ commented 8 years ago

<% LoginAction la = new LoginAction(); ArrayList<HashMap<String, String>> userList = new ArrayList<HashMap<String, String>>(); if (la.getLogin(request).equals("failure")){ //用户名或者密码为空 response.getWriter().write("{reslut:failure.null}"); } else { //用户名和密码都不为空,并且已经set完毕 if (la.validateLogin().equals("success")){ userList = la.getUserList(); //yhzd_yhbh, yhzd_pass, yhzd_yhxm, yhzd_xtbh, yhzd_dwbh, yhzd_zw, yhzd_xzbz, yhzd_dwbz session.setAttribute("yhbh",userList.get(0).get("YHZD_YHBH")); session.setAttribute("pass",userList.get(0).get("YHZD_PASS")); session.setAttribute("yhxm",userList.get(0).get("YHZD_YHXM")); session.setAttribute("xt",userList.get(0).get("YHZD_XTBH")); session.setAttribute("dw",userList.get(0).get("YHZD_DWBH")); session.setAttribute("zw",userList.get(0).get("YHZD_ZW")); session.setAttribute("xzbz",userList.get(0).get("YHZD_XZBZ")); session.setAttribute("dwbz",userList.get(0).get("YHZD_DWBZ")); response.getWriter().write("{reslut:success.login}"); } else { response.getWriter().write("{reslut:failure.pass}"); } } %>

ApacheHeiZ commented 8 years ago

处理

ApacheHeiZ commented 8 years ago

现在有问题

ApacheHeiZ commented 8 years ago

出不来 data了

ApacheHeiZ commented 8 years ago

发过去 没有问题 我都在后台打印出来了

ApacheHeiZ commented 8 years ago

别说 两个 result不一样

ApacheHeiZ commented 8 years ago

改过来也一样 不弹 data.result

AlphaHinex commented 8 years ago

你这全是 jsp 啊

你 write 之前试试先 javax.servlet.ServletResponse#setContentType

response.setContentType("application/json");
ApacheHeiZ commented 8 years ago

不会往后台的方法发请求啊 会的话就不往页面发了

ApacheHeiZ commented 8 years ago

response.setContentType("application/json");

ApacheHeiZ commented 8 years ago

放在所有的jsp上边,没有反应

ApacheHeiZ commented 8 years ago

调试的话能看到json里的数据吗?

AlphaHinex commented 8 years ago

=我试试

AlphaHinex commented 8 years ago

index.jsp

<%@ page contentType="text/html;charset=UTF-8" %>
<html>
  <body>
    <button id="btn">test</button>
    <script src="https://cdn.bootcss.com/jquery/2.1.4/jquery.min.js"></script>
    <script>
    $('#btn').click(function() {
      $.ajax({
        url: 'ctrl.jsp',
        success: function(data) {
          console.log(data);
          alert('a is ' + data.a + ' and b is ' + data.b);
        }
      });
    });
    </script>
  </body>
</html>

ctrl.jsp

<%@ page contentType="text/html;charset=UTF-8" %>
<%
response.setContentType("application/json");
response.getWriter().write("{\"a\": 123, \"b\": 456}");
%>
ApacheHeiZ commented 8 years ago

必须要这么弄吗? {\"a\": 123, \"b\": 456}

ApacheHeiZ commented 8 years ago

这句什么意思?

ApacheHeiZ commented 8 years ago

console.log(data);

AlphaHinex commented 8 years ago

{"a":"aa", "b":"bb"} 是 JSON 的标准格式吧,你那么写可能也行,你试试 console.log 是往浏览器控制台打日志,可以忽略

ApacheHeiZ commented 8 years ago

我复制你的 我这就不行

ApacheHeiZ commented 8 years ago

jquery.js的问题?

AlphaHinex commented 8 years ago

用我给的例子不行?那你换 jq 版本试试

ApacheHeiZ commented 8 years ago

你的给我邮箱? 277864612@qq.com

AlphaHinex commented 8 years ago

我那不是写 url 了嘛,你直接浏览器访问保存下来就行

https://cdn.bootcss.com/jquery/2.1.4/jquery.min.js
ApacheHeiZ commented 8 years ago

我引入的有问题吗?

ApacheHeiZ commented 8 years ago

src="js/jquery-2.1.4.min.js"