窗口 - dialog - 与后端交互

与后端交互,一般需要提交表单数据,所以,这次渲染得dialog其实是一个<form>

<form id="loginForm">    <table align="center">        <tr>            <th align="right">用户名</th>            <td>                <input type="text" name="username"/>            </td>        </tr>        <tr>            <th align="right">密码</th>            <td>                <input type="password" name="password"/>            </td>        </tr>    </table></form>

使用JS的方式渲染表单为对话框
<script type="text/javascript">    var loginForm;//被循环选择的对象提取出来,这样就用选择器选择一次就够了    $(function () {        loginForm = $("#loginForm").dialog({            title: "登陆",            width: 250,            height: 150,            modal: true,            closable: false,//登录框不允许关闭,所有去掉关闭按钮            buttons: [                {                    text: "登陆",                    handler: function () {                        console.log("登陆");                    }                }, {                    text: "注册",                    handler: function () {                        console.log("注册");                    }                }            ]        });    })</script>

其实用window组件也能做登录框,但是考虑到如果使用window组件的话,还得自己编写两个(甚至三个)按钮,

所以就使用dialog,直接使用其buttons属性,在底部渲染出两个按钮。以上,用console.log()的方式模拟了等于与注册的操作。

那么如何真实的与后端进行交互呢?

有两种方式

第一种:Ajax
var formData = {    username:$("input[name=‘username‘]").val(),    password:$("input[name=‘password‘]").val(),};$.ajax({    type:"POST",    url:"<%=homePage%>/testController/login.ajax?type=json",    dataType:"JSON",//预期服务器返回的数据类型    contentType:"application/json",//发送的数据类型    data:JSON.stringify(formData),//将JSON对象转化成JSON的字符串形式    success:function(data){        if ("0" == data.st){            console.log("登陆成功");        }else{            console.log("登陆失败");        }    }

})
对应的后端
@RequestMapping(value = "/login.ajax",params = "type=json")@ResponseBodypublic Map<String,String> login1(@RequestBody Map<String, String> map){    logger.debug("请求参数:"+map);

Map<String,String> map1 = login(map);

return map1;}

说明:前端发送给后端的所有数据,本质上都只可能是字符串,所以,当我在发送Ajax请求的时候,因为指定了 contentType 为 application/json,所以,需要将json对象

转换成JSON字符串。而使用Spring MVC作为后端在接收的时候,需要使用@RequestBody注解,该注解将JSON字符串转换成指定的对象,这里转换成了Map

如果不希望通过JSON字符串发送,则可以如下:
handler: function () {    console.log("登陆");    var formData = {        username:$("input[name=‘username‘]").val(),        password:$("input[name=‘password‘]").val(),    };    $.ajax({        type:"POST",        url:"<%=homePage%>/testController/login.ajax?type=form",        dataType:"JSON",//预期服务器返回的数据类型        data:formData,        success:function(data){            if ("0" == data.st){                console.log("登陆成功");            }else{                console.log("登陆失败");            }        }

})}

发送的时候不指定发送的类型,默认是  application/x-www-form-urlencoded;  就是k1=v1&k2=v2 的字符串形式后端也要做相应的改动
@RequestMapping(value = "/login.ajax",params = "type=form")@ResponseBodypublic Map<String,String> login2(@RequestParam Map<String, String> map){    logger.debug("请求参数:"+map);

Map<String,String> map1 = login(map);    return map1;}

第二种:EasyUI的Form表单组件
				
时间: 2025-01-18 01:20:05

窗口 - dialog - 与后端交互的相关文章

写给刚入门的前端工程师的前后端交互指南

转自原文 写给刚入门的前端工程师的前后端交互指南 作为刚接触前端的不久的童鞋,大家都会兴奋于CSS和JS所带来漂亮界面,然而,前端工程师除了UI重构外,还有非常重要的职责在正确的区域渲染出服务端的数据.毕竟,我们要构建一个大的web应用,必然不是普普通通的静态页面构成. 下文将罗列将来前端工程师应该必备的同后端打交道的常用技能. 服务端渲染 谈起服务端渲染,对于动态服务而言,这个世界上跑的大多数页面都经历过服务端的数据渲染,接口->前端赋值->模版渲染 .这一切都在服务器完成,我们查看源码时候

网页前后端交互示例

对于网页开发而言,网页与服务器之间的数据交互是很频繁的,至关重要的一件事情.但是对于很多的初学者来说,这就成了一个不可逾越的难点问题,本篇博客将从一个初学者的关点讲解其中一种交互方式,此方法经过本人验证有效,并附有代码. 首先要实现网页前后台程序的交互需要安装后台框架,本人安装的框架为wamp(windows+apache+mysql+php).安装程序可以通过我在百度网盘上的分享链接下载http://pan.baidu.com/s/1cIKb8a 提取码是cnfh.至于安装过程中的配置可以参考

.NET通过NavisWorks API将.nwc文件在窗口中打开及交互

NavisWorks API的内容大部分为二次开发,在NavisWorks软件中增加所需要的功能. 而我所接到的工作任务是,将.nwc等格式的文件通过窗口打开并且可交互.也就是说,需要有一个程序去调用API,从而打开NavisWorks文件. 在.NET API Reference Guide中其实已经有了比较完善的示例,可以实现很多功能,这里我将结合API文档以及一些其他我在网络上查找到的资料,专门针对这一方面来进行说明,一方面是给自己的工作内容留下记录,另一方面希望有类似开发任务的朋友可以共

浅谈前后端交互

首先,关于接口文档--由后台设计修改(前端是接口文档的使用者) 其次,前后端交互的数据,格式是:json,(xml不多了) 重要的是,前后端如何交互??--接口地址+前端请求的参数+后台返回的参数 1.接口地址: 2.前端请求的参数: 形式:get/post(get从指定服务器提取数据,post将数据提交给指定服务器): 所有前端url后面的参数都是辅助后台数据查询的:若不需要参数,则后台会直接将url给前端: 注:为什么需要在请求的时候传入参数??--后台在查询数据库的时候需要按条件查询. 3

Webapp和后端交互检查测试

除了功能,我们可以使用下面方法,查看交互过程,页面不能发现的问题: 什么是json 什么是json,json是什么,json如何使用 JSON是一种取代XML的数据结构,和xml相比,它更小巧但描述能力却不差,由于它的小巧所以网络传输数据将减少更多流量从而加快速度, 那么,JSON到底是什么? JSON就是一串字符串 只不过元素会使用特定的符号标注. {} 双括号表示对象 [] 中括号表示数组 "" 双引号内是属性或值 : 冒号表示后者是前者的值(这个值可以是字符串.数字.也可以是另一

初识 vue —— 最简单的前后端交互示例

一.初识 vue 时的困惑 最近想学一门前端技术防身,看到博客园中写 vue 的多,那就 vue 吧.都说 vue 的官方教程写得好,所以我就从官方教程开始学习.官方教程说"Vue (读音 /vju?/,类似于 view) 是一套用于构建用户界面的渐进式框架.与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用."但是这个概念是个什么鬼?还是让人一头雾水嘛.而且我一开始也没有搞清楚 vue 的定位,只知道它是一个前端库,但是确实不知道它的优势是什么,还以为它是一个学会就能一劳永

SSM-网站后台管理系统制作(4)---Ajax前后端交互

前提:Ajax本身就为前后端交互服务的,实现功能:用户输入信息,实时判断用户的情况,这也是现在登录界面普遍流行的做法.前端js通过注释识别Controller层,该层查询返回,和之前Google验证码有点像. 学习教程:http://how2j.cn/ 菜鸟教程 上面都有讲解, 前端Ajax代码 1 </script> 2 3 <script language="javascript" type="text/javascript"> 4 $(

百度ueditor的图片上传,前后端交互使用

百度ueditor的使用 一个文本编辑器,看了网上很多文档写的很乱,这里拾人牙慧,整理下怎么使用. 这个东西如果不涉及到图片附件上传,其实很简单,就是几个前端文件,直接引用,然后配置下ueditor.config.js即可.这里就不多说. 至于图片上传,ueditor 设计的时候是考虑和后端交互的,所以会看到可以下载什么php,java版本,还有很多网上会说道有什么后端配置文件,改那改这的,但是实际上后端存储业务是按照公司实际来的,实践起来并不顺利. 本文重点讲述的只用前端文件和ueditor.

Vue-CLI项目-axios模块前后端交互(类似ajax提交)

08.31自我总结 Vue-CLI项目-axios前后端交互 一.模块的安装 npm install axios --save #--save可以不用写 二.配置main.js import axios from 'axios' Vue.prototype.$axios = axios; 三.使用 created() { // 组件创建成功的钩子函数 // 拿到要访问课程详情的课程id let id = this.$route.params.pk || this.$route.query.pk