调用ajax出错,登录时出现ajaxerror,为什么

网友 2024-04-20

大家好,今天小编来为大家解答调用ajax出错这个问题,登录时出现ajaxerror,为什么很多人还不知道,现在让我们一起来看看吧!

一、自学java

“这是一篇完整的java程序员学习线路图,一共分为六个阶段。

我以java为例,展示完整的学习步骤。

希望对于想通过java自学的朋友有帮助。

从最简单的开始,helloworld开始Java之旅

再结合java高级部分,里面的部分内容,这个阶段你不一定能理解很彻底。但有一点,如果你今后想进入高阶俱乐部,这些内容你必须掌握牢固。

举个栗子,如果你面试通过进入了公司,我一定会在早期仔细review你的代码。代码的功力是欺骗不了人的,不同人写一个接口,呈现的结果也是千差万别(所以才有了规范)。

在多线程编程时,你需要了解以下几个概念

java程序运行的基础知识,java编译后的bytecode的整个运行机制,这一点对应.net的IL(intermediatelanguage)。

理解Javanio,关于这一点网上有非常多的教程,这一条需要重点掌握,对于高并发的掌握很重要。

javajuc(java.util.concurrent)等等

JVM最重要的三个部分必须要非常清楚,内存划分、class加载机制以及GC策略。搞清楚这三部分不仅仅是为了面试,也是为了让你对于Java有更深刻的理解,这对于你的Java生涯非常有帮助。

内存划分简单说分为三个部分,YoungGeneration(年轻代)、OldGeneration(年老代)以及PermGeneration(永久代)。其中的YoungGeneration(年轻代),又分为Eden、From和To,其中From和To又统称为SurvivorSpaces(幸存区)。

关于classloader机制的学习,可以结合tomcat去学习,了解清楚tomcat的classloader机制,看tomcat是如何保证各个APP之间的类隔离的。如果可能的话,看一下tomcat中classloader的源码,当中也包含了与tomcat类加载机制相似的部分。

至于GC,需要清楚GCRoots都有哪些,以及如何判断一个对象可以被回收。此外,GC的算法和策略也要有大概的了解。

比如,淘宝前端层使用的是velocity模板,部分公司采用jsp、freemarker等,基本类似。

在个阶段,也可以结合自己的情况,学习linux系统底层原理。

1.SSH(struts2+spring+hibernate)

2.SSM(springmvc+spring+mybatis)

备注:如果你仔细,网上有部分叫SSI,I为ibatis,后来ibatis改名为mybatis了。

框架组合,我首推SSM,比SSH灵活强大。

框架的优缺点,我会再单独写文。

如果你还有兴趣,可以自己搭建Lucene、solr框架,以及memcached/redis、activeMQ、hadoop等等搜索、分布式缓存、异步消息、数据等。

我一般建议自己搭建,从学习效果再到理解深度都不一样。有兴趣,就开始自己搭建。

eclipse(首推),STS,myEclipse,Idea

eclipse里的插件太多,推荐几个必装插件:

JadClipse、run-jetty-run(很牛的热部署调试)、veloctiy、freemarkerIDE、Subclipse、m2eclipse、mybatisEditor、EasyExplorer等等。

建议自己搭建一套nexusmaven私服,成为你们公司的代码仓库员。

二、一个ajax可以请求两个url吗

1、是否能够发送多个请求,答案是肯定的。一般有两个方式实现,第一你可以创建一个ajax对象,等第一个请求结束然后再执行下一个请求,这个如果ajax是同步的还容易控制,如果是异步的则不好控制。

2、第二是搞个连接池,先放几个ajax对象进去,然后就用这个池子中的对象就可以了,可以节省资源,不然每发送一次请求就创建个ajax那很浪费,而如果DOM加载控制的很好便可以全部使用异步处理,页面加载速度有明显的提升。

3、js原则上是单线程的,但是ajax的异步处理实际上是真的异步执行的,所以这个在用户响应上是真的可以做到很快。ajax出问题可以看浏览器报错,一般如果js程序没问题,服务器资源存在(即使脚本报错)那就应该问题不大,ajax会忠诚的执行的。

4、如果你还觉得不够好那就把ajax的处理程序写的全面点,把每一个服务器状态信息都做处理,针对不同的信息你做一定的处理,至少可以清楚的知道哪里出错.

三、解决ajax回调函数返回的字符串乱码问题

1、ajax请求失败,提示parsererror(到complete回调函数里看),所以不会执行success回调函数;

2、parsererror也就是说明数据解析出错了,也就是返回的数据格式有问题。post请求设置的格式是json,实际上返回的不是json;

注意红色的部分,数据被压缩过了,当作json解析自然会出错;

3、如果把post请求最后的‘json’参数去掉,会发现可以进入success回调函数,但此时response是个字符串而不是js对象,而且开头好像还有两个乱码,response.contents成了undefined。

所以问题根源是:

服务端返回的是gzip压缩后的数据,不是json字符串。

服务端返回的是gzip压缩后的数据,不是json字符串。

四、登录时出现ajaxerror,为什么

因为服务端代码出错了,你可以查看一下log或者观察下控制台,出错后,返回到客户端,有些ajax框架会封装为error,也就是error分支。如果都没有错误,才会进入到ajax的successfunction的分支。

END,本文到此结束,如果可以帮助到大家,还望关注本站哦!

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权本站发表,未经许可,不得转载。

分享:

扫一扫在手机阅读、分享本文

推荐阅读

热门信息