ajax InvalidStateError:试图使用一个不可用或不再可用的对象

ajax InvalidStateError: An attempt was made to use an object that is not, or is no longer, usable

本文关键字:一个 对象 不再 InvalidStateError ajax      更新时间:2023-10-02

非常奇怪的问题。。。我正在尝试将多个值传递给post中的一个方法。只要我不把它作为一个对象发布,它就很好用。但是当我试图作为一个对象发布时,我得到了错误

未捕获的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) {
                        }
                    });

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

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

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

尝试这个

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