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:无法读取未定义的属性’defaultView’并且警报永远不会发生……?

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

这是因为this不是你以前处理过的,它现在是ajax jQuery对象,添加$.ajax()context选项,如下所示:

 $.ajax({ context: this, url: "ajax/save_text.php", ... 

这样你回调中的内容与你调用$.ajax()时的内容相同。 或者,只需在单独的变量中保留this的引用。

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