微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jQuery“无法读取属性”defaultView“的未定义”错误

我正在使用jQuery将一个表单域发布到一个PHP文件,只需返回1/0取决于它是否工作…

代码提取

$.ajax({
    url: "ajax/save_text.PHP",//Relative?!?
    //PHP Script
    type: "POST",//Use post
    data: 'test=' + $(this).val(),datatype: 'text',//Pass value       
    cache: false,//Do not cache the page
    success: function(html) {
        if (html == 1) {
            $(this).hide().siblings('span').html($(this).value).show();
                    alert("awesome!");
        } else alert('It didn\'t work!');
    },//Error
    error: function() {
        alert("Another type of error");
    }
});

但是每当它成功(html == 1)时,控制台会抛出错误“Uncaught TypeError:Can not read property”defaultview’undefined“,并且警报永远不会发生?

谷歌似乎没有太多关于这个错误的信息和jQuery,谁知道原因?

解决方法

这是因为这不是你以前处理过的,现在是aaax jQuery对象,添加 context option of $.ajax()像这样:
$.ajax({
  context: this,url: "ajax/save_text.PHP",...

这样,你的回调函数就像当你打电话$.ajax()时一样.或者,只需在一个单独的变量中保持对此的引用.

另外,你需要调整$(this).value,你可能意味着this.value或$(this).val().

原文地址:https://www.jb51.cc/jquery/180434.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐