首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >对ruby on rails的Ajax调用

对ruby on rails的Ajax调用
EN

Stack Overflow用户
提问于 2013-09-20 17:36:51
回答 3查看 2.1K关注 0票数 0

我有一个使用ruby on rails的ajax调用。我正在获得成功,但我不知道如何使用ajax调用的数据结果。

代码语言:javascript
运行
复制
$.ajax({
  url: "/search/get_listing?listing_id" + id,
  dataType: 'JSON',
  success: function(data) {
    var listing = JSON.parse(data);
    $("#modalPrice").html(data.city);
  }
});

控制器:

代码语言:javascript
运行
复制
@listings_data = Listings.find_by(id: params[:id])

render :json => @listings_data.to_json

使用data.city是行不通的。我希望通过简单的输入获取从模型中检索到的值。在变量上

代码语言:javascript
运行
复制
var listing = JSON.parse(data);

还是不走运。帮帮大伙。谢谢!

EN

回答 3

Stack Overflow用户

发布于 2013-09-20 20:01:06

JSON.parse是Ruby代码,JSON gem的API。你们如何在Javascript中使用它:)

jQuery可以直接处理JSON对象data。只需使用:

代码语言:javascript
运行
复制
  success: function(data) {
    $("#modalPrice").html(data.city);
  }
票数 1
EN

Stack Overflow用户

发布于 2013-09-20 20:59:18

例如,可以在控制器中渲染:

代码语言:javascript
运行
复制
render :json => { :city => @listings_data }

在JS上:

代码语言:javascript
运行
复制
success: function(data) {
    var listing = data.city;
}
票数 1
EN

Stack Overflow用户

发布于 2013-09-20 17:52:55

每次在rails中使用AJAX时,我都会遇到类似的问题,因为响应似乎因返回值的方式或在JS中处理成功的方式而有所不同。试试这个:

代码语言:javascript
运行
复制
success: function(data, status, xhr) {
             var listing = JSON.parse(xhr.responseText);
             $("#modalPrice").html(data.city);
         }

我通常使用Firebug (Firefox插件)在我的成功处理程序中设置断点,以检查响应的确切位置。有时是第一个值,有时是其他值,然后可能是xhr.response,甚至是xhr.responseText。它每次都让我感到困惑。

要使用Firebug,请在页面上按F12,选择“脚本”窗格并找到您想要检查的代码。单击要在其中放置断点的代码行号旁边的。在本例中,您可以选择var listing行。当代码被执行时(在你点击之后),浏览器会停在那里,你可以在右边检查传递的参数。

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

https://stackoverflow.com/questions/18913429

复制
相关文章

相似问题

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