当前位置: 首页>前端>正文

后端返回的xml怎么处理java 后端返回html代码

问题:我要通过ajax做下拉框级联,有两个下拉框,第一个是代表仓库,第二个是代表库位,库位有个字段是所属仓库,所以我的需求是用户选择一个仓库后, 后边的库位的下拉框的选项就变为选中仓库下的库位。我在仓库的下拉框中使用onchange事件去用ajax查询相应的库位信息,然后后台返回如 库位1库位2这样的数据,然后在页面上ajax的success回调函数中(用的是jquery的$.ajax方法) 用alert(result)打印后台返回的数据时,却是包含"."这样的像是整个html页面的内容。 这个问题引起的原因就是response.setContentType("text/html");这里的"text/html",这里告诉客户端用html“插件”来处理返回的内容,所以就引起了 像是返回了整个html页面的现象,这里只需返回像html的文本内容,所以不能设置为text/html,而应设置为文本内容相关的,如:text/json  或者text或者html都没有 问题。 详细的response.setContentType(MIME)说明如下: response.setContentType(MIME)的作用是使客户端浏览器,区分不同种类的数据,并根据不同的MIME调用浏览器内不同的程序嵌入模块来处理相应的数据。 例如web浏览器就是通过MIME类型来判断文件是GIF图片,也是通过MIME类型来处理json字符串。 Tomcat的安装目录\conf\web.xml 中就定义了大量MIME类型 ,可以参考。 response.setContentType("text/html; charset=utf-8"); html .setContentType("text/plain; charset=utf-8"); 文本 text/javascript json数据 application/xml  xml数据 这 个方法设置发送到客户端的响应的内容类型,此时响应还没有提交。给出的内容类型可以包括字符编码说明, 例 如:text/html;charset=UTF-8.如果该方法在getWriter()方法被调用之前调用,那么响应的字符编码将仅从给出的内容类型中设置。 该方法如果在getWriter()方法被调用之后或者在被提交之后调用,将不会设置响应的字符编码,在使用http协议的情况中,该方法设 置 Content-type实体报头。 一般在Servlet中,习惯性的会首先设置请求以及响应的内容类型以及编码方式: response.setContentType("text/html;charset=UTF-8"); request.setCharacterEncoding("UTF-8"); response.setContentType()的String参数及对应类型 BMP    GIF    JPEG    TIFF    DCX    PCX    HTML    TXT    XML    AFP    PDF    RTF    MSWORD    MSEXCEL    MSPOWERPOINT    WORDPERFECT    WORDPRO    VISIO    FRAMEMAKER    LOTUS123 MIME映射策略就是在网页中使用哪个应用程序(即插件),打开哪种文件。另外还有使用权限问题。比如对PDF文档,用“application/pdf “策略。 这在动态网页中很常见。出现这种现象,有两种情形:一是使用一个应用程序去打开它不能打开的文档,比如用在标签中定义“DWG”文档用 “application/pdf ”, 就会出现无法打开的问题。二是文件扩展名符合要求,但文件内容(格式)不符合要求。你可以检查你浏览的网页源代码,获得出错信息。检查方法是:查看— 源文件。 寻找类似于“application/pdf “的字符串,就可以看到,要打开的文件是否与应用程序匹配。 追问 如果不相匹配 如何解决回答 这通常是由网页编写人来更改。 比如:你在源文件里面找到你要打开的文件的HTML标签,在里面加上应用程序即可。比如,你要在网页上打开一个PDF文档, 找到PDF文档那一行, 在HTML标签里加上 type=“application/pdf “ 就可以了。比如以下HTML文件:

测试MIME

测试MIME 将上面的代码保存为test.html,再在相同的位置存储一个pdf文档,双击它就会在网页中打开该文档。


https://www.xamrdz.com/web/29p1933085.html

相关文章: