如何在ajax请求中编码参数?

问题描述 投票:0回答:1

我有一个选择字段,

<form:form id="mediaForm" method="post" role="form">
 <table>
 <tr id="state" style="display: none;">     
                <td>
                    <form:select path="sCode" id="sCode"
                        onchange="getAllLists(this.id,'${contextPath}/main/getList.do','dCode','aCode')">
                        <form:option value="" label="--- Select ---" />
                        <form:options items="${state}" />
                    </form:select>
                </td>                            
        </tr>
        </table>
        </form:form>

单击此字段时,正在调用另一个列表。现在,当我拦截此请求并将状态值(例如,由用户= 03选择的状态)更改为04时,不会显示任何错误。我想对var val = $('#' + new_id).val();进行编码并在控制器上对其进行解码,以便没有人可以在两者之间进行更改?请提示。尝试了encodeURIComponent,但是可以编码url,我想对值进行编码state = 01;

function getAllLists(new_id, url, second_name,
        image_value) {
    var val = $('#' + new_id).val();

    $.ajax({
                url : url,
                dataType : 'json',
                data : {
                    state : val
                },
                success : function(data) {
                    $('#' + image_value).empty();
                    $('#' + image_value)
                            .append(new Option('Select...', ''));
                    $.each(data.list, function(arrID, group) {
                                $('#' + image_value).append(new Option(
                                                group.desc, group.code));

                            });
                    $('#' + image_value).val("A");

                }
            });
}

某种参数污染攻击。

java jquery ajax
1个回答
0
投票
如果我理解得很好:您的担心与安全有关。
© www.soinside.com 2019 - 2024. All rights reserved.