ajax InvalidStateError:尝试使用不可用或不再可用的对象

时间:2013-11-23 23:19:48

标签: javascript jquery ajax javascript-events html2canvas

非常奇怪的问题......我正在尝试将多个值传递给post中的方法。只要我不作为对象发布它就可以正常工作。但是当我尝试作为对象发布时,我收到了错误

  

Uncaught InvalidStateError:尝试使用不可用或不再可用的对象。

这是代码

这有效

var x = $('#myDiv').val(canvas.toDataURL("image/png", 1.0);    
                $.ajax({
                    type:'POST',
                    url:"/myMethod/test",
                    data: x,
                    success:function (response) {
                }
            });

但这不起作用

var x = $('#myDiv').val(canvas.toDataURL("image/png", 1.0);    
                    $.ajax({
                        type:'POST',
                        url:"/myMethod/test",
                        data: {x:x}, 
                        success:function (response) {
                        }
                    });

当我尝试将其作为对象发送时,我不确定为什么会抱怨

2 个答案:

答案 0 :(得分:6)

var x = $('#myDiv').val(canvas.toDataURL("image/png", 1.0));

是DOM元素的jQuery集合,因为val()在设置值时返回集合,在获取值时返回字符串,并且您正在设置值,至少看起来像是,即使最后一个括号丢失了,你也不能用ajax发送它,无论你怎么努力?

答案 1 :(得分:-3)

试试这个

var x = $('#myDiv').val(canvas.toDataURL("image/png", 1.0);    
$.ajax({
  type:'POST',
  url:"/myMethod/test",
  data: [{x:x}], 
  uccess:function (response) {

  }
});