将to_json响应放入ajax调用中

时间:2016-01-05 13:38:08

标签: javascript ruby-on-rails

所以我有一个带有一堆json文本的@变量。

我希望将此@ var放入我的js脚本中,以便所有json都在javascript ajax调用中。但是,如果我在shwo页面上制作var,就像这样

var json = '<%= @json %>';

如果我将var放在我的ajax调用的url中,就像这样

url: json,

它引发404错误。我猜它是因为它正在寻找网址&#34; json&#34;?

感谢您的任何建议!

修改

@fl = Flight.all
@json = @fl.to_json

这是我演出中被要求的部分

$.ajax({
    type: 'GET',
    crossDomain: true,
    dataType: 'json',
    url: json ,
    success: function(json) {
        debugger;

它没有击中调试器

2 个答案:

答案 0 :(得分:0)

您的url参数应该会收到一个字符串,描述必须将提交内容发送到的路径(例如&#39; / my-url&#39;)。

传递json对象会让ajax向不受欢迎的路径提交请求。

404代码正是如此描述的。没有提交提交的途径。因此铁轨无法处理。

如果要将该json对象传递给服务器,则应设置“&#39;数据”。你的json对象的参数(而不是你的&#39; url&#39;参数)

答案 1 :(得分:0)

做一件事只是看看你在@json中获得了什么价值,

   @fl = Flight.all        
   @json = @fl.to_json   
   puts @json.inspect

@json变量的值类似于

“{\” ID \ “:someValue中,\” key_1 \ “:\” somevale \ “\ ”created_at \“:\ ”2015-11-01T15:39:31.000Z \“,\” 的updated_at \ “:\” 2015-11-01T15:39:31.000Z \ “\ ”key_2 \“:someValue中}”

你试图通过ajax点击这个网址(当然不是网址),这会给你404找不到

看看这个,你会得到一些想法Ruby on rails: How to send an AJAX request to rails controller from login popup along with user given credentials

希望这有助于你

如果您遇到问题,请告诉我。)