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

前端之家收集整理的这篇文章主要介绍了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().

猜你在找的jQuery相关文章