0

我有一些调用 URL mysite.com/articles.js 的 javascript,它向文章控制器的索引操作发送请求。我需要以 JSON 格式将数据返回给 javascript 函数,但在此之前,我想通过渲染 index.js.erb 来更新页面上的一些部分

我通过 jquery 调用 URL

var url = '/articles.js

$.get(url, function(newItemData) {
  someOtherFunction(newItemData)
}

调用带有 .js 结尾的 URL 与发送 AJAX 请求(远程 => 真)不同吗?我还有一些其他按钮和链接通过 remote => true 发送 ajax 请求,并且 .js.erb 模板随该请求自动呈现。有没有办法将 URL 作为 ajax 请求调用?

任何帮助将非常感激。

谢谢!

4

1 回答 1

1

如果我错了,请纠正我,但看起来您正在尝试从控制器呈现两个视图:index.js.erb文件和 JSON 响应。这是不可能的,因为 Rails 只支持一个render,redirect_tohead调用。

这意味着您需要更改 JavaScript 代码以发送两个请求:一个用于更新视图 (render index.js.erb),另一个用于返回您的 JSON 对象。

.js结束 URL提交请求与提交 AJAX 请求不同。为此,您需要设置remote: true,如您所提到的,或在您的 JavaScript 代码中构建 AJAX 请求($.ajax()如果您使用的是 jQuery)。

您还可以考虑查看Rails 中的布局和渲染

希望有帮助!

于 2012-06-04T07:14:13.813 回答