我正在使用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)时,控制台都会引发错误“未捕获的TypeError:无法读取未定义的属性’defaultView’”,并且警报永远不会发生…?
Google似乎没有关于此错误和jQuery的大量信息,谁知道原因?
这是因为this以前不是您要处理的内容,现在是ajaxjQuery对象,请添加如下所示的context选项$.ajax():
this
ajax
context
$.ajax()
$.ajax({ context: this, url: "ajax/save_text.php", ...
this回调中的这种方式与this调用时的方式相同$.ajax()。或者,仅保留对this单独变量中的引用。
另外,您需要调整$(this).value,可能是this.value或$(this).val()。
$(this).value
this.value
$(this).val()