【问题标题】:Jquery .load() works locally but not on the serverJquery .load() 在本地工作,但不在服务器上
【发布时间】:2017-03-21 23:32:00
【问题描述】:

我不太确定是什么导致了这里的问题。我正在尝试使用 .load() 函数将视图加载到 Jquery 对话框中。在我的本地机器上一切正常,但在服务器上,最终创建的 URL 不正确,因为它将参数添加到 URL 两次。

链接是来自@item.GrouperIDForLookip 来自的网络网格的动态链接。

<div id="groupersDialog"></div>
<a id="GrouperField_@item.GrouperIDForLookup" class="grouper">Groupers</a>
...
<script>
    $(".grouper").on("click", function () {
        var id = $(this).attr("id").split("_")[1];
        $('#groupersDialog').dialog({
            autoOpen: true,
            width: 1000,
            height: 600,
            resizable: true,
            draggable: true,
            title: "Groupers",
            model: true,
            show: 'slide',
            closeText: 'x',
            dialogClass: 'alert',
            closeOnEscape: true,
            open: function () {
                //Load the Partial View Here using Controller and Action
                $('#groupersDialog').load('/Home/_Groupers/?GroupIDForLookup=' + id);
            },

            close: function () {
                $(this).dialog('close');
            }
        });
});
</script>

在我的本地机器上一切正常,加载的 URL 也正常。但是在服务器上运行它时,最终创建的 URL 是 %2fHome%2f_Groupers%2f%3fGroupIDForLookup%3d2&amp;GroupIDForLookup=2,它加倍 GroupIDForLookup 给我一个 GET 404(找不到页面)。

有没有人碰巧知道会导致这种情况发生的原因?如果您需要更多代码,请告诉我。

【问题讨论】:

  • 我不明白 Javascript 是如何做到这一点的。我怀疑问题是服务器上的重写规则。
  • 问题在于加载函数中的 URL,尝试使用 @URL.Action("_Groupers", "Home")?GroupIDForLookup = id
  • @NagarajRaveendran 这确实成功了。我尝试了类似的方法,但在本地失败了。如果您愿意,请将此作为答案,我很乐意将其标记为正确。

标签: javascript jquery jquery-ui-dialog


【解决方案1】:

请更新以下代码中加载函数中的 URL。

<div id="groupersDialog"></div>
<a id="GrouperField_@item.GrouperIDForLookup" class="grouper">Groupers</a>
...
<script>
    $(".grouper").on("click", function () {
        var id = $(this).attr("id").split("_")[1];
        $('#groupersDialog').dialog({
            autoOpen: true,
            width: 1000,
            height: 600,
            resizable: true,
            draggable: true,
            title: "Groupers",
            model: true,
            show: 'slide',
            closeText: 'x',
            dialogClass: 'alert',
            closeOnEscape: true,
            open: function () {
                //Load the Partial View Here using Controller and Action
                $('#groupersDialog').load(
                '@URL.Action("_Groupers", "Home")?GroupIDForLookup' + id);
            },

            close: function () {
                $(this).dialog('close');
            }
        });
});
</script>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-19
    • 1970-01-01
    相关资源
    最近更新 更多