我正在使用一个使用拖放功能的重型基于 javascript 的应用程序。
它运作良好。但是,如果我向页面添加一个动态对象(它具有与其他对象完全相同的属性和变量),它会拖动,但在放置时,POST 返回 406。
我完全不确定这里会发生什么,因为我重新实例化了在进行此调用之前可能需要的任何环境侦听器。我已经分解了对这个的调用:
.cranbar
一个工作的预先存在的对象在哪里。我用一个动态添加的相同切换它.foobar
,它返回一个 406。
attrs = { _method:"put"};
box = $(".cranbar");
$.post(box.attr('data-update_path'), attrs, function(data) {
});
这个片段来自make_droppable
在对象实例化之后和我尝试拖放它之前加载的方法。
make_droppable: function(){
$('table#week .day').droppable({
accept: '.job, .task',
hoverClass: 'droppable-hover',
drop: function(e, ui) {
if (confirmOnDrop){
if (!confirm('Are you sure?')) {
if ($('table#week').length > 0) {
draw_weekly_calendar();
}
return false;
}
}
var box = $(ui.draggable);
// var old_container = box.parents('td:first');
var new_cell = $(this);
var new_container = $(this).find('.rel_box');
// add indicator
box.addClass('indicator');
// add box to new container
box.attr('style', 'position: absolute;').appendTo(new_container);
var attrs = null;
if (box.attr('data-object-type') == 'job') {
// update job already on screen
attrs = {
'job[scheduled_on]': new_cell.attr('data-scheduled_on'),
'_method': 'put'
}
}
else if (box.attr('data-object-type') == 'task') {
attrs = {
'task[scheduled_at]': new_cell.attr('data-scheduled_on'),
'_method': 'put'
}
}
if (attrs) {
$.v = attrs;
$.post(box.attr('data-update_path'), attrs, function(data) {
box.removeClass('indicator');
box.attr('data-scheduled_at', new_cell.attr('data-scheduled_on'));
draw_weekly_calendar();
});
}
// nice effect
box.effect('shake', { times: 1, distance: 2 }, 50);
}
});
},
有谁知道我可以做些什么来找到这个406的来源?
更新
这可能与它有很大关系。但我现在正在比较标题。
失败的帖子:
Response Headers
Cache-Control no-cache
Connection Keep-Alive
Content-Length 1
Content-Type text/html; charset=utf-8
Date Mon, 09 Jul 2012 16:11:27 GMT
Server WEBrick/1.3.1 (Ruby/1.9.2/2011-02-18)
Request Headers
Accept text/javascript
Accept-Encoding gzip, deflate
Accept-Language en-us,en;q=0.8,es-es;q=0.5,es;q=0.3
Connection keep-alive
Content-Length 57
Content-Type application/x-www-form-urlencoded; charset=UTF-8
成功发帖:
Response Headers
Cache-Control max-age=0, private, must-revalidate
Connection Keep-Alive
Content-Length 2024
Content-Type application/json; charset=utf-8
Date Mon, 09 Jul 2012 16:11:35 GMT
Etag "93432c11e3cc55dfec8e0aee7c08bcc1"
Server WEBrick/1.3.1 (Ruby/1.9.2/2011-02-18)
Request Headers
Accept text/javascript
Accept-Encoding gzip, deflate
Accept-Language en-us,en;q=0.8,es-es;q=0.5,es;q=0.3
Connection keep-alive
Content-Length 57
Content-Type application/x-www-form-urlencoded; charset=UTF-8