所以我有一个带有一堆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;
它没有击中调试器
答案 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
希望这有助于你
如果您遇到问题,请告诉我。)