gpt4 book ai didi

jquery - Fancybox AJAX编码问题

转载 作者:行者123 更新时间:2023-12-01 04:12:16 27 4
gpt4 key购买 nike

我有一个完全英文的网站。使用 Spring 和 Bakcbone.js。在其中一个 View 中,我动态创建一个列表,其中每个 li 都是一个 fancybox 链接。单击时,它会使用 AJAX 加载弹出窗口的内容。这是我对 fancybox init 的了解:

$(".fancyboxA").fancybox({
type : 'ajax',
fitToView : false,
autoSize : true,
autoCenter : false,
helpers : {
overlay : {
locked : false
}
}
});

我已经使用 fancybox 在我网站的另一个位置加载图像并且一切正常。这次我通过 AJAX 加载一个简单的页面,它所做的只是显示来自属性文件的文本。文本为西里尔文。我得到一堆?????????

有几件事:

  1. 我已经在页面、servlet xml 和属性中设置了编码使用 UTF-8 保存文件
  2. 我确实在页面(调用 fancybox 的 LI 的可点击文本)及其显示正确。只有当它出现在精美的盒子里时给我带来了问题。

我检查了 Fancybox 代码,它没有更改 jQuery ajax 调用的编码。我检查了文档,jQuery 默认使用 UTF-8

你知道我可能会错过什么吗?

谢谢

最佳答案

我发现了我的问题。

对从服务器获得的响应进行更深入的分析后,我发现我仍然收到错误的字符编码。显然,我在 Spring XML 文件中所做的所有配置对于 AJAX 调用来说是不够的。对于常规页面来说已经足够了,但对于使用 AJAX 动态加载的内容来说就不够了。

所以我能够通过在返回内容的方法中设置编码来解决这个问题,如下所示:

@RequestMapping(method = RequestMethod.GET, value = "/mySuperPage")
public ModelAndView getMySupercontent(@RequestParam int id, HttpServletRequest request, ModelMap map, HttpServletResponse response) {
map.put("mySuperStuff", uiContentRetriever.getSuperStuff(id));
//This is what does the trick
response.setContentType("text/plain;charset=UTF-8");
return new ModelAndView("/mySuperPage", map);
}

关于jquery - Fancybox AJAX编码问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18948639/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com