zoukankan      html  css  js  c++  java
  • ajaxSubmit插件jQuery1.4.2版JSON问题

    jQuery Form 插件基于jQuery v1.4.2版返回JSON数据时一直报错;修改以下内容可恢复;

    原后台输出数据格式如:{sitename:'开发者网络',siteurl:'www.AAA.net',level:10} 需改为 {"sitename":"开发者网络","siteurl":"www.AAA.net","level":10}

    也就是在名称需以双引号包括;因为 jQuery 1.4.2版在 parseJSON 方法中添加了正则判断

    if ( /^[\],:{}\s]*$/.test(data.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, "@")
       .replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, "]")
       .replace(/(?:^|:|,)(?:\s*\[)+/g, "")) ) {

       // Try to use the native JSON parser first
       return window.JSON && window.JSON.parse ?
        window.JSON.parse( data ) :
        (new Function("return " + data))();

      } else {
       jQuery.error( "Invalid JSON: " + data );
      }

    jQuery Form 插件需要修改的地方

    if (scr || s.textarea) {
         // see if user embedded response in textarea
         var ta = doc.getElementsByTagName('textarea')[0];
         if (ta) {
          xhr.responseText = ta.value;
         }
         else if (scr) {
          // account for browsers injecting pre around json response
          var pre = doc.getElementsByTagName('pre')[0];
          if (pre) {
           xhr.responseText = pre.innerHTML;
          }
         }    
        }
        else if (s.dataType == 'xml' && !xhr.responseXML && xhr.responseText != null) {
         xhr.responseXML = toXml(xhr.responseText);
        }

    修改为:

    if (scr || s.textarea) {
         // see if user embedded response in textarea
         var ta = doc.getElementsByTagName('textarea')[0];
         if (ta) {
          xhr.responseText = ta.value;
         }
         else if (scr) {
          // account for browsers injecting pre around json response
          var pre = doc.getElementsByTagName('pre')[0];
          if (pre) {
           xhr.responseText = pre.innerHTML;
          }else xhr.responseText=doc.body.innerHTML;
         }    
        }
        else if (s.dataType == 'xml' && !xhr.responseXML && xhr.responseText != null) {
         xhr.responseXML = toXml(xhr.responseText);
        }

    http://www.hua126.com/article/edu/Web/info-10356.html

  • 相关阅读:
    浅析七种经典排序算法
    一个可编辑与新增博客园文章的 Python 脚本
    快速排序的几种实现方式
    如何查找某个网站的(如:有道云笔记)的接口
    一键导出「有道云笔记」所有笔记
    2020年启蒙及小学识字练字APP或小程序测评榜
    2020年部编版小学二年级语文上册知识点(完整版)
    2020年部编人教版小学语文一年级下册知识点汇总
    换个角度,程序员爸爸应该关注一下
    计算机基础知识-I/O篇
  • 原文地址:https://www.cnblogs.com/y0umer/p/3839187.html
Copyright © 2011-2022 走看看