我正在使用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…