ajax成功获取后台数据,解析报错(parseerror)进入error方法

ajax成功获取后台数据,解析报错(parseerror)进入error方法

在编写前端页面接口调用后台数据的过程中,前台ajax请求接口,接口方法调用读取数据库数据过程遇到一些问题记录下来。部分内容从网上查找基本类型知识进行了总结。

1.ajax成功获取后台数据,解析报错(parseerror)进入error方法
出错原因:出现parseerror一般是ajax已经成功请求到数据,但在前端解析过程出现错误。而这种错误是请求数据类型与返回数据类型不一致导致解析出错。
1)请求响应类型:dataType(预期服务器返回数据类型)
“xml”:返回xml文档,可用jQuery处理。
“html”:返回纯文本HTML信息;包含的script标签会在插入dom时执行。
“script”:返回JavaScript代码。不会自动缓存结果。除非设置了 “cache” 参数。注意:在远程请求时(不在同一个域下),所有 POST 请求都将转为 GET 请求。(因为将使用 DOM 的 script标签来加载)
“json”:返回json数据(注意json数据格式,新版json需要使用双引号不能用单引号;json不能直接解析为空的“data”)
“jsonp”:JSONP格式。使用 JSONP 形式调用函数时,如 “myurl?callback=?” jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。
“text”:返回纯文本字符串
另外如果没有指定dataType类型,服务器会自动推断。

2)请求发送类型:contentType(告知服务器发送数据类型)
”application/x-www-form-urlencoded“: 常用post请求类型,提交数据按key1=value1&key2=value2格式转码。
”multipart/form-data“ :消息主体以–boundry开始,最后以–boundry–结束。
“application/json”:消息主体为json格式字符串。

解决方案:

我遇到的问题是,后台传回的json字符串是通过ModelandView类渲染到jsp页面的,即通过{“data”:${data}}的形式获取 ${data}数据。当给data传递null时,得到的不是一个符合json格式的对象。

会出现前端ajax解析出错。如果对象为字符串,不论对象是字符串还是对象都需要定义初始化后传递(字符串类型初始化为“”,对象初始化为{},以此来表示null)。
ajax成功获取后台数据,解析报错(parseerror)进入error方法_第1张图片

你可能感兴趣的:(Java,Web,ajax)