0

我有一个像“£300 ON 110406”这样的字符串,我正在向用户显示。以下是被触发到从数据库返回数据的弹簧控制器的 Ajax:-

数据库值通过单独的 Product 推送,因此无法更改任何内容。

$.ajax({ header:{ Accept:"*/*", "Mime-Type":"application/x-javascript;charset=iso-8859-15" }, type: "POST", cache: false, dataType:'json', url: ctx + "/url.htm", data: str, beforeSend: function(jqXHR) { if(jqXHR && jqXHR.overrideMimeType) { jqXHR.overrideMimeType('application/x-javascript;charset=iso-8859-15'); } },

以前上面的字符串在 FIreFox 和 Chrome 上也不能正常运行,但是在我添加了“beforeSend”方法之后,现在它们正常了。

但 IE 仍然给出 BOX 字符。

上面的 Ajax 代码我在谷歌搜索了大多数可用于类似问题的问题后进行了修改。

我的页面如下所示:-

<%@ page language="java" contentType="text/html; charset=iso-8859-15" pageEncoding="iso-8859-15"%> <% request.setCharacterEncoding("iso-8859-15"); %> <%@taglib uri="http://www.springframework.org/tags/form" prefix="form"%> <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15">

在我的另一页上,我显示相同的值,但使用的是 Scriptlet,所以没有问题。

我的 spring 控制器方法的签名:- 如果我将产品添加到此方法中,我会得到“无法在浏览器控制台中找到演示文稿”

@SuppressWarnings("unchecked") @RequestMapping(value = "/url", method = RequestMethod.POST) private @ResponseBody String getFilteredData(

jQuery版本是1.11

我一直在 IE 中尝试此操作,但它不起作用.. 下面是 IE 浏览器的屏幕截图,用于显示 Accept 和 content-type。

如果我在 Ajax 中更改内容类型,那么它会向控制器发送数据。

在此处输入图像描述

你能告诉我,如何解决这个问题。

4

0 回答 0