ajax请求406,Ajax请求返回(406不可接受)

在Rails应用中遇到一个406NotAcceptable错误,问题源于试图加载javascript模板profile.js.erb。Ajax请求使用jquery无限滚动插件触发,尝试追加内容到页面的局部元素。控制器中定义了profile动作,但格式设置可能不正确。添加format.js解决了406错误,但原始目标是渲染js模板而非返回json。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在我的Rails应用程序中,javascript模板profile.js.erb不会呈现。我收到错误代码406 Not Acceptable。这个模板应该在视图中追加一个局部星号#profile。 Ajax请求由jquery无限滚动插件完成。这里是我的代码Ajax请求返回(406不可接受)

动作

def profile

@page=params[:page] ||1

@videos=Video.all(:page=>@page)

respond_to do |format|

format.js

format.html

end

end

视图星#轮廓

profile.js.erb

$('div.post').append("");

个路由

match "stars/profile/:page"=> "stars#profile", :via => :get

日志中控制台

Started GET "/stars/profile?page=2" for 127.0.0.1 at 2013-06-20 00:05:58 -0500

Processing by StarsController#profile as application/JavaScript

Parameters: {"page"=>"2"}

Completed 406 Not Acceptable in 65836ms

的Ajax设置

jQuery.ajaxSetup({

'beforeSend': function(xhr, settings) {

xhr.setRequestHeader("Accept", "application/javascript");

var token=$('meta[name="csrf-token"]').attr('content');

xhr.setRequestHeader('X-CSRF-Token',token);

settings['dataType'] = "javascript";

settings['contentType'] = "application/javascript";

}

});

2013-06-20

katie

+0

通过StarController旁加工评论说轮廓JSON。看看你的控制器中的格式是什么,以确保它是html或js。如果格式是json,这将解释为什么你得到406,因为你的控制器没有处理该格式。 –

+0

当我添加format.json,解决'406错误代码',但我需要*** profile.js.erb ***得到渲染不json –

+0

我认为你必须在您的请求中设置接受头'应用程序/ javascript',不知道该怎么做,虽然,检查http://api.jquery.com/jQuery.ajax/#jQuery-ajax-settings –

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值