发表于: 2018-02-02 13:38:59
1 492
今天完成的事情
1.今天完成了弹窗的显示:
其实是有个地方的大小写错了,而且没加引号:
<script type="text/javascript">
function sendV() {
var data={
tel:$("#tel").val()
}
$.ajax({
type: "POST", //以post方式与后台沟通
url :"/addUser/verify", //与此页面沟通
dataType:"json",//返回的值以 JSON方式 解释
data: data, //发给的数据
success: function() {//如果调用成功
alert("验证码已经发送,请注意查收")
}
}
)
}
</script>
这块的dataType一开始写错了,原来是:dataType:JSON 所以一直没有弹窗出现。
2.ajax回调函数执行
问题描述:点击获取验证码的按钮后,方法执行则弹窗内容是“发送验证码成功”,方法执行失败则弹窗内容为“发送验证码失败”,但是目前是可以进入到后台方法中,但是无法跳出弹窗。
1、后台返回json数据,在前台页面判断,不用@ResponseBody
function test1() {
$.ajax({
// asynch:false,
type: "post", //以post方式与后台沟通
url :"/task4-1/aaaa", //与此页面沟通
dataType:"json",//返回的值以 JSON方式 解释
// data: data, //发给的数据
success: function(json) {//如果调用成功
if (json.i<1){
alert("返回的是a")
}else {
alert("返回的是b")
@RequestMapping(value = "/aaaa", method = RequestMethod.POST)
public void test(HttpServletResponse httpServletResponse) throws IOException {
System.out.println("进入测试弹框方法");
int i=10;
Map map=new HashMap();
map.put("i" ,i);
String json = JSONObject.fromObject(map).toString();
//将数据返回
httpServletResponse.setCharacterEncoding("UTF-8");
httpServletResponse.flushBuffer();
httpServletResponse.getWriter().write(json);
httpServletResponse.getWriter().flush();
httpServletResponse.getWriter().close();
}
2、后台返回text数据,在后台做判断,使用@ResponseBody
function test2() {
$.ajax({
// asynch:false,
type: "get", //以post方式与后台沟通
url :"/task4-1/12345", //与此页面沟通
dataType:"text",//返回的值以 JSON方式 解释
// data: data, //发给的数据
success: function(a) {//如果调用成功
if (a=="a"){
alert("返回的是a")
}else {
alert("返回的是b")
@RequestMapping(value = "/12345", method = RequestMethod.GET)
@ResponseBody
public String test() {
System.out.println("进入第二测试方法");
int i=1;
if(i>0){
return "a";
}else{
return "b";
}
}
3.将普通的数据转换为json格式
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.4</version>
<classifier>jdk15</classifier>
</dependency>
Map map=new HashMap();
map.put("i" ,i);
String json = JSONObject.fromObject(map).toString();
4.将发送邮件的api接口集成到项目中,成功是成功了,但是目前又无法弹框了,很难受:
<script type="text/javascript">
function sendM() {
var data={
tel:$("#mail").val()
}
$.ajax({
type: "POST", //以post方式与后台沟通
url :"/addUser/mail", //与此页面沟通
dataType:"json",//返回的值以 JSON方式 解释
data: data, //发给的数据
success: function() {//如果调用成功
alert("邮件已经发送,请注意查收")
}
}
)
}
</script>
可以正常发送邮件,但是没有弹框,难受。
在明达大佬的帮助下,发现了问题所在,是因为没有写Response的参数,于是改完了controller层是这样的:
@RequestMapping(value="/addUser/mail",method = RequestMethod.POST)
public String getEmail(HttpServletRequest Request,HttpServletResponse Reponse,String userEmail){
System.out.println("进入了发送邮件的方法");
// int verify= (int) (Math.random()*9000+1000);
// System.out.println(verify);
// try {
// mail.sendMail(userEmail, verify);
// }catch (Exception e){
// e.printStackTrace();
// }
return null;
}
这样就可以弹窗了。。。。很尴尬,关于邮箱验证码验证的操作,没有做,因为这个和短信验证码验证一样,所以放过去了,接下来开始搞图片的上传。
5.七牛云的使用,先是照着官方的文档坐了坐图片的上传:
嗯。。就是这样了,然后复制了这个外链在浏览器打开:
额。。是不是将这个外链存到数据库?目前是这样猜测的。。
6.学习官方的sdk文档,看看怎么搞这个东西:
额,云里雾里的。。。
今天遇到的问题
上面提到了,还有这个集成七牛云的东西不知道怎么做
今天的收获
以上
明天计划的事情
努力完成七牛云的接口吧。。。
评论