我正在努力理解 Ajax 的概念。我的目标很简单,提取一份教育机构列表以获取自动填写表格。目标:用户输入类似“University of Wa”的内容,然后可能会出现“University of Waterloo”。这是我的嵌入式 ruby 的样子:
<%= f.text_field :university, :id => "university-field", :onkeydown=>"updateUniSearch()" %>
还有我的 JavaScript:
function updateUniSearch() {
/*jQuery UI Autocomplete for University Search Form*/
$("#university-field").autocomplete({
dataType: "json",
source: "http://universities.hipolabs.com",
async: true,
crossdomain: true
});
};
我在这里找到了一个大学名单 API:https://github.com/Hipo/university-domains-list
目前,当我运行页面时,出现以下错误:
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://universities.hipolabs.com/?term=university. (Reason: CORS header 'Access-Control-Allow-Origin' missing).
我是否正在正确地做到这一点,还是还差得很远?再说一遍,我只是想使用自动完成功能来显示来自外部来源的大学列表,而不是试图找到大量大学列表并将它们保存在本地数组或 JavaScript 中。预先感谢您。
最佳答案
出于安全原因,json
的数据类型不支持跨域请求。尝试使用 jsonp
(带填充的 JSON)。
关于javascript - Ajax调用错误跨源请求: Pulling list of universities for autocomplete in rails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37265176/