首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用JSON的Rails Jquery自动完成失败

使用JSON的Rails Jquery自动完成失败
EN

Stack Overflow用户
提问于 2012-03-19 22:12:25
回答 2查看 2.2K关注 0票数 2

我正在尝试使用远程服务来填充rails中的自动完成字段。按姓氏查询返回可录用人员

我的控制器中有一个名为employeeAutocomplete的操作,它从外部数据库收集数据:

代码语言:javascript
复制
class ServicesController < ApplicationController
 def employeeAutocomplete
  @banner = employeeSearch(params[:term])
  respond_to do |format|
    format.json { render :json => @banner.to_json }
  end
 end

在我的routes.rb中,我有一个占位符路由:

代码语言:javascript
复制
match '/banner/cheese' => 'services#employeeAutocomplete'

我可以成功地浏览到http://0.0.0.0:3000/banner/cheese.json?term=mac,并收到如下所示的包含员工数据的数组:

代码语言:javascript
复制
[ {"LAST_NAME": "MacDougal", "FIRST_NAME": "Elaine", "TITLE": "Internet Technician"}, {"LAST_NAME": "MacCallum", "FIRST_NAME": "Harvey", "TITLE": "Systems Architect"} ]

但是,这不适用于自动完成字段。下面是我的视图的javascript:

代码语言:javascript
复制
$("#service_employeeLast").autocomplete({
    source: "/banner/cheese.json"
});

我在firebug控制台中收到一个错误:

我无计可施了。我不知道我做错了什么,我已经尝试了两个不同的自动补全插件,但一直收到相同的错误jquery.js:8103

帮助!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-21 03:06:31

信不信由你,是Google Chrome导致了这个问题。显然,它不喜欢本地主机ajax调用。以下是更新后的代码,可以正常工作:

services.js

代码语言:javascript
复制
$(function() {
 $( "#service_employeeLast" ).autocomplete({
    source: "/banner/fetch",
    minLength: 2,

 });
});

services_controller

代码语言:javascript
复制
def employeeAutocomplete
    @banner = employeeSearch(params[:term])
    @banner_hash = []
    @banner.each do |b|
        @banner_hash << { 
            :title => b["POSITION_TITLE"], 
            :label => [b["FIRST_NAME"], b["LAST_NAME"]].join(" "), 
            :value => b["LAST_NAME"], 
        }
    end
    render :json => @banner_hash
end

这里的键还表明您的返回值散列具有标签和值键/值对

票数 2
EN

Stack Overflow用户

发布于 2012-03-19 22:33:39

也许您使用render :json => @banner.to_json对数据进行了两次编码。它应该是render :json => @banner,数据将被自动编码。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9771724

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档