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

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: <span id=&quot...
jQuery 添加水印 <script src="../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...