【问题标题】:ajax InvalidStateError: An attempt was made to use an object that is not, or is no longer, usableajax InvalidStateError:试图使用一个不可用或不再可用的对象
【发布时间】:2013-12-08 18:24:12
【问题描述】:

非常奇怪的问题...我正在尝试将多个值传递给 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) {
                        }
                    });

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

【问题讨论】:

    标签: javascript jquery ajax javascript-events html2canvas


    【解决方案1】:

    这个

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

    是 DOM 元素的 jQuery 集合,因为 val() 在设置值时返回集合,在获取值时返回字符串,并且您正在设置值,至少看起来像,甚至如果缺少最后一个括号,并且无论如何努力都无法使用 ajax 发送它?

    【讨论】:

    • 这给了我一个急需的线索。
    【解决方案2】:

    试试这个

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

    【讨论】:

    • 这个答案不会给帖子增加任何价值
    猜你喜欢
    • 2016-04-30
    • 2019-03-05
    • 2014-05-21
    • 2013-09-24
    • 2014-05-19
    • 1970-01-01
    • 2013-10-08
    • 2013-06-17
    • 2022-08-18
    相关资源
    最近更新 更多