首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何利用ResponseText

如何利用ResponseText
EN

Stack Overflow用户
提问于 2014-07-01 22:05:22
回答 2查看 40关注 0票数 0

前言:原谅我,因为我在处理JSON方面很新。

我目前正在使用Rails和jQuery通过JSON检索一些数据。我能够成功地从我的控制器抓取数据,但我似乎不能用它做任何事情。

index.html.erb

代码语言:javascript
复制
<a href="#" id="click">Click Me</a>

clothing.js.erb

代码语言:javascript
复制
$( "#click" ).on( "click", function(e) {
   e.preventDefault();
   $.ajax({
    type: "GET",
    dataType: "json",
    url: "/clothing/get_color",
    success: function(response){
        alert(response);
    }
   })
});

clothing_controller.rb

代码语言:javascript
复制
 def get_color
    #Query goes here

    respond_to do |format|
        format.html
        format.json { render :json => @color, status: :ok }
    end
 end

当我单击$("#click")链接,查看我的Firebug控制台时,它成功地查询控制器,没有任何错误,并将response显示为blue

但是,我不能对这个响应做任何事情,比如alert(response)$("#my_input").val(response)

我在这里做错了什么有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-07-02 18:41:20

好吧,我想出来了。结果是在JSON请求之后触发了“错误”,而不是成功,尽管它是以200的状态进行响应的。

所以,我找到了这样的帖子here,解释添加:success=> "success"。因此,我将控制器代码更改为:

代码语言:javascript
复制
respond_to do |format|
 format.json { render :json => { :success => "success", :status_code => "200", :color => @color } }
end

这起作用了!

票数 0
EN

Stack Overflow用户

发布于 2014-07-01 22:50:14

在尝试输出响应之前,可能需要执行响应的JSON.stringify()操作。

检查这个链接Objects/JSON/stringify

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

https://stackoverflow.com/questions/24519963

复制
相关文章

相似问题

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