Python返回jsonp自动完成 - javascript

我正在使用devbridge https://www.devbridge.com/sourcery/components/jquery-autocomplete/的自动完成功能。
我正在尝试在同一服务器内但在不同端口中获取json数据。所以我对跨域有问题。我已经尝试并阅读了有关此问题的许多不同方法,但是我无法设法解决它。所以我有一个python函数返回此:

formatted_codes = {'query': query, 'suggestions':jsonData, 'data': jsonData}
data = json.dumps(formatted_codes)
return HttpResponse("callback(%s);"%data,mimetype="application/javascript")

我正在尝试将其用于自动填充中,如下所示:

$(function(){
options = {
    serviceUrl:'http://linkname/apps/getSuggestions/start_auth?record_id=4dfcb2eb-1c71-4da1-8b3e-cbf4918a042;query=can;',

   // jsonpCallback: 'callback',
    dataType: 'jsonp',
    cache: false,
    crossDomain: true,
    success: function(data) {


                    return { value: data.suggestions};

    },
      error:function(jqXHR, textStatus, errorThrown){
        alert(errorThrown);
      }
};
a = $('#query').devbridgeAutocomplete(options);

});

但这是行不通的。它说ReferenceError:回调未定义
在萤火虫中,我可以看到python函数的结果是:

callback({'query': 'can', 'suggestions': ['Cane', 'Canal', 'Candy', 'Canis', 'Canoe', 'Canada', 'Canary', 'Canola', 'Cantil', 'Decane', 'Toucan', 'Candida', 'Candiru', 'Candoia', 'Canidae', 'Cannula', 'Indican', 'Pelican', 'Scanner', 'Acanthis'], 'data': ['Cane', 'Canal', 'Candy', 'Canis', 'Canoe', 'Canada', 'Canary', 'Canola', 'Cantil', 'Decane', 'Toucan', 'Candida', 'Candiru', 'Candoia', 'Canidae', 'Cannula', 'Indican', 'Pelican', 'Scanner', 'Acanthis']});

我也尝试了jsonCallback:'callback',变量。我也试图只返回文本而不是json。我不知道该怎么办。我应该使用python函数返回什么才能使用自动完成功能?我相信我的问题在那里。

参考方案

问题似乎出在Python脚本的HttpResponse部分中,您在其中引用了callback()。我不知道我是否完全理解这一点,但不会为您的目的返回简单的JSON吗?所以像这样:

formatted_codes = {'query': query, 'suggestions':jsonData, 'data': jsonData}
return HttpResponse(formatted_codes, mimetype="application/json")

我认为即使没有json.dumps部分也应该足够了,但是我不确定。这样您还可以返回:

return HttpResponse(json.dumps(formatted_codes), mimetype="application/json")

jQuery val函数在隐藏字段上不起作用? - javascript

这是我的HTML代码:<div style='display:none;' id='allformid'> <div> <form action='#'> <input type='text' name='name' …

如果我得到url(''),我该如何使用另一个URL - javascript

我是新手,正在写这篇文章,但是如果源上没有图像,那么我只有空白。有人可以告诉我,如果我正在获取背景图像,如何获取/images/no-image.jpg:url();这是我的代码:<div class="uk-clearfix uk-position-relative"> <div class="recipeb…

Javascript IF语句 - javascript

                        嗨,我有这段代码可以正常工作,并将两个日历显示为一个日历。我还有一个php变量$login_session,其中包含登录电子邮件地址的用户。关于如何显示[email protected]日历的任何想法(伪代码)IF $login_session == "[email protected]&#…

提交初始化后删除某些帖子数据 - javascript

在初始化提交之后但在将数据发送到处理页面之前,是否可以过滤$ _POST表单数据?我想象过程的方式:提交->收集$ _POST数据->发送数据我想做的事:提交->收集$ _POST数据->删除某些元素->发送数据这样就不必更改处理页面以过滤掉不希望接收的元素了吗? javascript大神给出的解决方案 当然可以,您可以在JS …

Javascript历史记录。如果不是当前站点,请默认转到页面 - javascript

我在搜索结果中使用以下history.go,并具有跨浏览器可接受的结果。我希望使用PHP解决方案,但这会满足需求,直到我意识到一个更大的问题。<a href="javascript:history.go(-1)">Return To Search Results</a> 我唯一的问题是查看者来自不是源自搜索页面ht…