0

私はこれに腹を立てています:

Tomcat 5.5、JRE 1.6 (準拠レベル)、JDK 1.7 を使用

ヘッダー:

<%@ 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) {...});

エイリアス パラメータに ñ を渡すと、私のローカルホスト マシン (win) では問題なく動作しますが、実稼働サーバー (Linux) では、param などの二重エンコーディングが取得されます。

WebBrowserRequest (ローカルホストと本番用の同じリクエスト):

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=

4

1 に答える 1

0

$.ajax (POST) による getJSON (GET) リクエストの変更を最終的に解決しました。

getJson:

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

アヤックス:

$.ajax({
    type: "POST",
    url: url,
    data: params
}).done(function( data ) {
    showData(data,page);
}).fail(function(jqXHR, textStatus) {
    showFail(jqXHR, textStatus);
});
于 2013-05-15T09:58:39.203 に答える