首先定义一个javascript函数,用来验证注册时用户名是否已经存在

function validateName(){
//validateName值得是structs.xml中的名字是validateName那个action,在spring配置文件中注入
var url = 'validateName!execute';
var json = document.getElementById("name").value;//获取用户名
var jsonName = {name:json}//创建json对象
var name = JSON.stringify(jsonName); //将json对象转换成json格式的字符串
$.post(url, {json: name}, function(json){
$("#tip").text(json.msg); }, "json");
}

看看具体的ValidateAction实现

package org.arthur.lr.system.action;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.ServletActionContext;
import org.arthur.lr.system.dao.UserManager;
import org.json.JSONObject;
import com.googlecode.jsonplugin.annotations.JSON;
import com.opensymphony.xwork2.ActionSupport;
public class ValidateAction extends ActionSupport {
/**
*
*/
private static final long serialVersionUID = 1L;
//这个属性已经在spring配置文件中注入,千万不要在这里写UserManger mgr = new UserMangerImpl();
private UserManager mgr;
private String json;
@JSON
public String getJson() {
return json;
}
public void setJson(String json) {
this.json = json;
}
public UserManager getMgr() {
return mgr;
}
public void setMgr(UserManager mgr) {
this.mgr = mgr;
System.out.println("启动tomcat时初始化");
}
@Override
public String execute() throws Exception {
JSONObject jsonObj = new JSONObject(json);    //将JSON格式的字符串构造成JSON对象
String name = jsonObj.getString("name"); //获取JSON对象中的name属性的值
if (mgr.validateName(name)) {
json =  "{msg:'you can use this name to regist'}";
System.out.println("有户名有效");
} else {
json =  "{msg:'the name is already exits'}";
System.out.println("用户名已经存在");
}
this.sendMsg(json);//发送数据到客户端,供回调函数调用
return SUCCESS;
}
public void sendMsg(String msg) throws IOException{
System.out.println("发送json");
HttpServletResponse res = ServletActionContext.getResponse();
PrintWriter out = res.getWriter();
//out.println(msg);这样写也行
out.write(msg);
if(null != out){
out.close();//如果不关闭的话,ajax的回调函数不会调用
}
}
}

ajax如何向action发送数据的相关推荐

  1. 如何在客户端发送ajax请求,ajax - 从服务器(nodejs)发送数据到客户端(ajax请求)

    如何使用nodejs将数据从服务器发送到客户端? 所以基本上我通过点击一个按钮来调用这个函数 javascriptfunction createStuff(tid) { $.ajax({ type: ...

  2. JS实现的ajax发送数据重复

    最近在做一个网页聊天室,但是在用ajax实现异步处理的时候,向服务器发送数据发送了两次,导致,我说一句会有两句回复. 先来看一下代码,问题主要还是出现在前端: <form id="da ...

  3. Django10:Ajax介绍/发送数据/SweetAlert

    Ajax 异步提交 局部刷新 发送方式 1. 浏览器输入url,按enter       get 2.a标签href属性                       get 3.form表单      ...

  4. jquery 获取键值对中最大值_jQuery的AJAX发送数据键值对

    在我的aspx页面,我对JS是这样的: -jQuery的AJAX发送数据键值对 $("#btnLoad").click(function() { var dataForAjax = ...

  5. Ajax向node发送数据时,响应值打印在控制台一闪而过

    目录 问题描述 具体代码 问题原因 问题解决 1.可以直接这样 2.还可以 问题描述 用ajax向后台发送数据,后台再进行响应,把响应的值打印在控制台上,但是这个值闪了一下就没有了. 具体代码 后端n ...

  6. vue写ajax访问springboot后台发送和接收数据

    vue写ajax访问springboot后台发送和接收数据 遇到的问题 一.没有引入js,以前一直使用公司封装后的,现在自己建立项目忘记引入很多js. 二.JS的顺序不能变,在用 this.$http ...

  7. java中使用ajax请求数据格式化,ajax请求服务器返回json数据格式化

    JQuery--实现Ajax应用 实现Ajax应用 1   .load()异步请求数据,通过Ajax请求加载服务器中的数据,并把返回的数据放置到指定的元素中,调用格式为load(url,[data], ...

  8. ajax 跨域请求数据,JQuery Ajax执行跨域请求数据的解决方案

    JQuery Ajax执行跨域请求数据的解决方案 今天前端因为需要ajax调用两个不同的项目,请求域不一样,所以涉及ajax跨域的问题 ,其实很简单,具体如下 原来的ajax请求如下: $.ajax( ...

  9. html里ajax使用、webpy服务在img显示图片、ajax修改table里的数据、$.post()、window,onload、$(button).click、mjpg_streamer

    1.ajax的使用,下面是基于webpy完成的例子: 后台相应代码: class AjaxFriendReq:def POST(self):try:i = web.input()#要使用这个get来获 ...

  10. mvc后台字符串转换html,在mvc中,使用summernote编辑器,我想发送数据的内容字符串和HTML到控制器...

    我是MVC的首发,所以有一些我不能做的. Summernote编辑器用于编写博客,Ajax用于发布.在这个编辑器里面写了一些字符后,smmernote编辑器和其他字符串数据中的这个html数据必须和a ...

最新文章

  1. WorkFlow设计篇Step.2—传参的用法-订单金额的处理(续)-WF4.0
  2. 为客户端加入输入线程
  3. leetcode 722. Remove Comments | 722. 删除注释(Java)
  4. 智慧政务解决方案(28页)pdf_智慧政务解决方案在政务服务大厅中的应用
  5. 2014年JAVA省赛B组---第四题---大衍数列
  6. python随机数据库_Python实现生成随机数据插入mysql数据库的方法
  7. Hdu 1794 【二维成段更新】.cpp
  8. Linux使用yum安装JDK
  9. step7-micro/win 在win10系统下安装步骤
  10. 精品丨DAX性能优化问题
  11. 一文看懂Python的多进程通信
  12. lib文件夹的作用和配置lib文件
  13. swift 中的 supportedInterfaceOrientationsForWindow
  14. 烈焰遮天mysql密码_完美运营版悬赏任务积分墙源码
  15. 2019.12.29 BMR计算
  16. 上海交大计算机音乐,指挥系优秀学子孙一凡执棒上交
  17. 车载影音导航Mtv下载
  18. 三维重建面试3:旋转矩阵-病态矩阵、欧拉角-万向锁、四元数
  19. 360杀毒下载|360杀毒电脑版下载
  20. 初识TopShelf

热门文章

  1. java聚集_深入理解JAVA中的聚集和组合的区别与联系
  2. 那些年踩过的坑(满目疮痍,一身狼狈)
  3. Node:服务器端解决跨域
  4. 项目部署:服务器IIS发布后本地浏览没有问题,外网访问显示无法访问
  5. jQuery特效:实现瀑布流
  6. 实战HTML:花瓣网
  7. 我想我是适合独处的人
  8. 6D姿态估计算法汇总(上)
  9. BiANet:用于快速高效实现RGB-D数据显著性目标检测的双边注意力模型
  10. SPPNet算法解析