我正在使用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().