jQuery在发布后没有工作

时间:2016-04-20 12:23:49

标签: jquery asp.net publish

当我在本地测试我的Web应用程序时,我的jQuery正常工作。具体来说,我正在使用自动完成 ..但是,在我将我的应用程序发布到我的Web服务器之后.. auto-complete 不再有效..

我在服务器上检查了我的应用程序发布到的文件夹,并检查了 jquery-ui 脚本,看它是否包含 auto-complete ,它确实

为什么会这样?如何让我的jQuery在我的服务器上运行?

我在Developer Tools中没有收到任何关于此问题的错误:

Picture

当我在 auto-complete 应该发生的文本框中时,这张照片被剪掉了

以下是我的自动完成功能的代码:

$(document).ready(function () {
$('#Categories').autocomplete({
    source: function (request, response) {
        $.ajax({
            url: "/codeAC/AutoCompleteCategory",
            type: "POST",
            dataType: "json",
            data: { term: request.term },
            success: function (data) {
                response($.map(data, function (item) {
                    return { label: item.subcategory, value: item.subcategory };
                }))
            }
        })
    },
});
});

我如何链接我的jQuery:

@Scripts.Render("~/bundles/modernizr")
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/Scripts/jquery-ui.js")
@Scripts.Render("~/Scripts/jquery-1.10.2.js")
@Scripts.Render("~/Scripts/jquery-1.10.2.min.js")
@Scripts.Render("~/bundles/bootstrap")
@Scripts.Render("~/Scripts/jquery-ui.js")
@Scripts.Render("~/Scripts/jquery-ui.min.js")
@Scripts.Render("~/Scripts/Scripts.js")
@Scripts.Render("~/Scripts/moment-with-locales.js")
@Scripts.Render("~/Scripts/moment-with-locales.min.js")
@Scripts.Render("~/Scripts/moment.js")
@Scripts.Render("~/Scripts/moment.min.js")
@Scripts.Render("~/Scripts/bootstrap-datetimepicker.js")
@Scripts.Render("~/Scripts/bootstrap-datetimepicker.min.js")

2 个答案:

答案 0 :(得分:0)

正如我在评论中所说,你的链接是错误的。

@Scripts.Render("~/bundles/modernizr")
@Scripts.Render("~/Scripts/jquery-ui.js")
@Scripts.Render("~/Scripts/jquery-1.10.2.min.js")
@Scripts.Render("~/bundles/bootstrap")
@Scripts.Render("~/Scripts/jquery-ui.min.js")
@Scripts.Render("~/Scripts/Scripts.js")
@Scripts.Render("~/Scripts/moment-with-locales.min.js")
@Scripts.Render("~/Scripts/moment.min.js")
@Scripts.Render("~/Scripts/bootstrap-datetimepicker.min.js")

这是一种更正确的方法,删除重复项。

其次我认为您链接中的~是您的问题。因为~表示Root,并且根据您网站在服务器上的位置,这可能是个问题。

答案 1 :(得分:0)

发现问题:

$(document).ready(function () {
    $('#Categories').autocomplete({
    source: function (request, response) {
        $.ajax({
            url: "/codeAC/AutoCompleteCategory",
            type: "POST",
            dataType: "json",
            data: { term: request.term },
            success: function (data) {
                response($.map(data, function (item) {
                    return { label: item.subcategory, value: item.subcategory };
                }))
            }
        })
    },
});
});

需要更改为:

$(document).ready(function () {
    $('#Categories').autocomplete({
    source: function (request, response) {
        $.ajax({
            url: "//*folder on server name*//codeAC/AutoCompleteCategory",
            type: "POST",
            dataType: "json",
            data: { term: request.term },
            success: function (data) {
                response($.map(data, function (item) {
                    return { label: item.subcategory, value: item.subcategory };
                }))
            }
        })
    },
});
});