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()
。