【发布时间】:2014-05-06 13:14:14
【问题描述】:
我在获取要在静态网站中显示的 json 数据时遇到问题。数据来自一个简单的 ruby on rails REST 服务——它位于 heroku。在这个例子中,我只是从 localhost 使用它。对,它说我的数据未定义。
$(document).ready(function() {
$.ajax({
type: "GET",
url: "http://localhost:3000/projects.json",
cache: false,
dataType: "json",
data: {
success: function(data) {
alert(data);
$.each(data, function(index, value) {
var v = JSON.parse(value);
$("<ul><li>" + v.name + "</li><li>" + v.description + "</li><li>" +v.tech + "</li></ul>")
.appendTo($("#tech"));
});
}
}
});
});
我的另一个问题是我如何将它附加到属性名称、描述、技术中——这在 html 中:
<section id="projects">
<h2>
Projects
</h2>
<article id="project">
<img id="project-image" src="" alt=""/>
<label id="name">
</label>
<ul id="tech">
<li>
</li>
<li>
</li>
</ul>
<p id="description">
</p>
</article>
【问题讨论】:
-
当您在浏览器中访问localhost:3000/projects.json 时会发生什么?这会显示您想要的 JSON 吗?
-
它从我所有的项目中返回了 json
-
为什么你的成功函数在数据元素里面?
-
如果成功,它应该获取数据,遍历元素并附加到 html 元素。但我不确定是否有这样做的标准方法......
-
@PerJohannessen - 所有回调都应该是传递给
$ajax的对象的第一级元素。我注意到将它传递给data元素仍然可以调用它(不知道为什么),但是它的行为并不像它应该那样。
标签: ruby-on-rails ruby ajax json heroku