编码的url导致500错误

时间:2012-09-03 16:02:13

标签: javascript jquery urlencode

我有这段代码

<script type="text/javascript">
    $(function () {

        var selectedAmenities = "";

        function amenitiesLog(message) {
            $("<div/>").text(message).appendTo("#amenitiesLog");
            $("<br/>").text("").appendTo("#amenitiesLog");
            $("#amenitiesLog").scrollTop(0);

            selectedAmenities = document.getElementById("amenitiesLog").innerHTML;
        }

        $("#Amenities").autocomplete({
            //source: "/Results/GetAmenities",
            source: function (request, callback) {
                var url = "/Results/GetAmenities?selected=" + selectedAmenities + '&term=' + request.term;
                $.getJSON(url, callback);
            },
            minLength: 3,
            select: function (event, ui) {
                if (ui.item != null)
                    amenitiesLog(ui.item.value);
            }
        });
    });
</script>​​​​​

导致生成此URL并调用

http://localhost:63320/Results/GetAmenities?selected=%3Cdiv%3EAir%20conditioning%3C/div%3E%3Cbr%3E&term=abc

我在Firebug中遇到的错误就是这个

A potentially dangerous Request.QueryString value was detected from the client (selected=&quot;&lt;div&gt;Air conditionin...&quot;).

解决方案是什么?

谢谢,

萨钦

1 个答案:

答案 0 :(得分:1)

我曾经有类似的东西,我必须声明我的无效网址字符。我在我的网络配置中这样做:

<system.web>
    <httpRuntime requestValidationMode="2.0" executionTimeout="600" requestPathInvalidCharacters="&lt;,&gt;,*,%,\" relaxedUrlToFileSystemMapping="true" />
</system.web>

其中'requestPathInvalidCharacters'包含无效字符,所以在我的情况下,我删除了冒号,因为我在我的网址中需要这个。

这对我有用,但至于你是否需要考虑一些安全风险,我不知道。

相关问题