jquery Struts2 Java $ .getJSON params UTF

编程入门 行业动态 更新时间:2024-10-17 15:25:16
jquery Struts2 Java $ .getJSON params UTF-8编码(Tomcat 5.5)(jquery Struts2 Java $.getJSON params UTF-8 encoding (Tomcat 5.5))

我生气了这个:

使用JDK 1.7的Tomcat 5.5,JRE 1.6(合规级别)

头:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> ... <!DOCTYPE html> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <script src="js/jquery-ui/jquery-1.9.0.js"></script>

Json请求:

params = $("#formList").serializeArray(); $.getJSON(url, params, function(data) {...});

当我传递一个ñ到alias参数时,在我的localhost机器上(win)工作正常,但是在生产服务器(linux)中我得到了param或类似的双重编码:

WebBrowserRequest(对localhost和生产的请求相同):

userList.action?pagination.currentPage = 1&pagination.sortColumn =&pagination.sortColumnOrder =& user.alias =%C3%B1 &user.email =&selectedRole = -1&selectedCountry = -1&selectedTown = -1&selectedLanguage = -1&selectedUserEnabled = 0&__ multiselect_selectedCategories =&jsonRequest = true&back = false

服务器端url输出(localhost):

userList.action?pagination.currentPage = 1&jsonRequest = true&user.email =&selectedLanguage = -1&selectedTown = -1&selectedCountry = -1&pagination.sortColumn =&selectedRole = -1&back = false& user.alias =ñ &selectedUserEnabled = 0&pagination.sortColumnOrder =&__ multiselect_selectedCategories =

服务器端url输出(生产):

userList.action?jsonRequest = true&selectedTown = -1&pagination.sortColumn =& user.alias =± &back = false&pagination.sortColumnOrder =&pagination.currentPage = 1&user.email =&selectedLanguage = -1&selectedCountry = -1&selectedRole = -1&selectedUserEnabled = 0&__ multiselect_selectedCategories =

I'm getting mad with this:

Tomcat 5.5, JRE 1.6 (compliance level) using JDK 1.7

Headers:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> ... <!DOCTYPE html> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <script src="js/jquery-ui/jquery-1.9.0.js"></script>

Json request:

params = $("#formList").serializeArray(); $.getJSON(url, params, function(data) {...});

When I pass an ñ to alias parameter, on my localhost machine (win) is workin ok, but in production server (linux) I'm getting a double encoding for param or something similar:

WebBrowserRequest (same request for localhost & production):

userList.action?pagination.currentPage=1&pagination.sortColumn=&pagination.sortColumnOrder=&user.alias=%C3%B1&user.email=&selectedRole=-1&selectedCountry=-1&selectedTown=-1&selectedLanguage=-1&selectedUserEnabled=0&__multiselect_selectedCategories=&jsonRequest=true&back=false

Server-side url output (localhost):

userList.action?pagination.currentPage=1&jsonRequest=true&user.email=&selectedLanguage=-1&selectedTown=-1&selectedCountry=-1&pagination.sortColumn=&selectedRole=-1&back=false&user.alias=ñ&selectedUserEnabled=0&pagination.sortColumnOrder=&__multiselect_selectedCategories=

Server-side url output (production):

userList.action?jsonRequest=true&selectedTown=-1&pagination.sortColumn=&user.alias=ñ&back=false&pagination.sortColumnOrder=&pagination.currentPage=1&user.email=&selectedLanguage=-1&selectedCountry=-1&selectedRole=-1&selectedUserEnabled=0&__multiselect_selectedCategories=

最满意答案

最后通过$ .ajax(POST)解决了更改getJSON(GET)请求的问题:

的getJSON:

$.getJSON(url, params, function(data) { showData(data); }).error(function(data) { showFail(data); });

AJAX:

$.ajax({ type: "POST", url: url, data: params }).done(function( data ) { showData(data,page); }).fail(function(jqXHR, textStatus) { showFail(jqXHR, textStatus); });

Finally solved changing the getJSON (GET) request by $.ajax (POST):

getJson:

$.getJSON(url, params, function(data) { showData(data); }).error(function(data) { showFail(data); });

ajax:

$.ajax({ type: "POST", url: url, data: params }).done(function( data ) { showData(data,page); }).fail(function(jqXHR, textStatus) { showFail(jqXHR, textStatus); });

更多推荐

本文发布于:2023-07-04 17:10:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1026969.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:Java   jquery   UTF   params   getJSON

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!