javascript - jquery - ajax 请求不工作

标签 javascript jquery django jquery-ui jquery-autocomplete

我正在使用 jQuery 自动完成 http://jqueryui.com/demos/autocomplete/#remote-jsonp ajax 请求不起作用的地方(没有向指定的 url 发送请求)

这是 jQuery 代码:

$("#add-keywords").autocomplete({
    source: function( request, response ) {
        var q = $("#add-keywords").val();
        $.ajax({
            url: "/keywords_suggestions/",
            dataType: "json",
            data: {
                    query: q
            }
        });
    },
    minLength: 2,
    select: function( event, ui ) {
            log( ui.item ?
                "Selected: " + ui.item.label :
                "Nothing selected, input was " + this.value);
    }
});

请求 url 应该是这个 http://127.0.0.1:8000/keywords_suggestions/ 但它发送到 http://127.0.0.1:8000/information/?query =web(jquery自动补全功能在这个页面http://127.0.0.1:8000/information/实现)

UPDATE-1

我检查了浏览器中的/keywords_suggestions/页面,它显示 Django 服务器代码没有返回 HttpResponse。这是问题的根源吗?我无法理解,自动完成本身的请求 url 不正确。那么这段 Django 服务器代码怎么会导致问题呢?

谁能告诉我我犯了什么错误?谢谢!

最佳答案

尝试为传出数据指定一个类型并对其进行一些手动操作:

$("#add-keywords").autocomplete({
    source: function(request, response) {
        var q = $("#add-keywords").val();
        var pString = '{"query":"' + q + '"}';

        $.ajax({
            url: "/keywords_suggestions/",
            dataType: "json",
            data: pString,
            contentType: "application/json",
            success: function(data) {
                response(data);
            }
        });
    },
    minLength: 2,
    select: function(event, ui) {
        log(ui.item ? "Selected: " + 
        ui.item.label : "Nothing selected, input was " + 
         this.value);
    }
});

contentType 将告诉服务器期望什么。

关于javascript - jquery - ajax 请求不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10982230/

相关文章:

javascript - 用于 AJAX 登录表单的 bootbox + jQuery.validator 不起作用

javascript - 使用 Jquery 针对 css 背景图像加载程序

javascript - 在 Jquery UI 对话框中禁用关闭按钮

javascript - 将 json 数组解析为 javascript 数组?

python - Crontab 正在运行但仍未执行命令 Django

javascript - Vue cli 默认使用 webpack 4 而不是 5

javascript - 我的 JavaScript 函数没有使用我需要的变量之一

javascript - 在自定义 WordPress 主题中的页面更改时保持 Accordion 子菜单打开

django - 在 Django Rest Framework 中过滤详细结果

python - Django通配符查询