修改ActiveReports验证文字“给不能为 null 的参数指定一个 null 值”

目前问题:

运行结果:

QQ截图20140911171128.png(14.68 K)

2014-9-12 11:02:28

CODE 为王,直接奉上。

  1. $(document).ajaxSend(function (e, xhr, o) {
  2. // 截获RunReport请求
  3. if (o.url.indexOf(‘/ActiveReports.ReportService.asmx/RunReport‘) > 0) {
  4. xhr.abort(); // 终止AR默认请求
  5. $.ajax({
  6. type: "POST",
  7. url: o.url,
  8. global: false, // 这句很重要不再触发ajaxSend事件,不然会走死循环
  9. data: o.data,
  10. contentType: "application/json; charset=utf-8",
  11. dataType: "json",
  12. success: function (msg) {
  13. var msgStr = JSON.stringify(msg);
  14. msgStr = msgStr.replace(/给不能为 null 的参数指定一个 null 值/g, ‘此字段为必填项‘);
  15. msg = JSON.parse(msgStr);
  16. o.success(msg);
  17. },
  18. error: o.error
  19. });
  20. }
  21. });

复制代码

代码的意图很简单:
目前存在的问题就是“给不能为 null 的参数指定一个 null 值”的输出来自后台服务,后台服务不可篡改;

QQ截图20140912102942.png(59.20 K)

2014-9-12 11:02:28

要篡改文字只能通过前台操作(后台没有提供多语言资源文件,官方已确认我的另外一篇发帖

前端解决的原理:

捕获Ajax请求-->终止默认请求-->手动调用Ajax-->篡改返回结果-->调用默认回调函数

解决思路:
1.分析AR生成JS代码
2.分析Jquery类库源码(最开始设想用AjaxComplete事件直接修改返回JSON,后面发现AjaxComplete事件在success调用之后,所以就算修改了也没意义,这也可能是Jquery就是防止这种恶意行为 )

这里不知道是不是AR另外一个BUG,原则上通过分析如果后台“ExtendedErrorInfo”不返回数据,则会走默认的验证字符串(默认验证AR可以修改)

QQ截图20140912105601.png(74.01 K)

2014-9-12 11:02:28

修改为一个人性化的文字,没想到这么波折,希望AR产品组的人员再接再厉,希望后来者可以利用上;

转:http://gcdn.gcpowertools.com.cn/showtopic-13759.html

时间: 2024-09-29 17:28:27

修改ActiveReports验证文字“给不能为 null 的参数指定一个 null 值”的相关文章

ios开发之Swift标签栏按钮UITabBarItem样式修改(图标文字尺寸,颜色等)

UITabBarItem在开发中非常的常用了它可以用来设置字体颜色及图片的设置等等,下面我们来看一篇关于ios开发之Swift标签栏按钮UITabBarItem样式修改(图标文字尺寸,颜色等)的例子,具体的细节如下所示. 1,tabBarItem图片的推荐尺寸和最大支持尺寸 下面是标签栏(UITabBar)中tab按钮图标分别在1x.2x.3x下不会压缩变形的尺寸: @1x : 推荐 25 x 25   (最大: 48 x 32)@2x : 推荐 50 x 50   (最大: 96 x 64)@

C/C++ 修改控制台程序文字颜色

可以修改前景色(字体颜色)和背景色. 示例代码如下: #include <iostream> #include <Windows.h> //需要引用Windows.h using namespace std; int _tmain(int argc, _TCHAR* argv[]) { HANDLE hConsole; hConsole = GetStdHandle(STD_OUTPUT_HANDLE); for(int i=255;i>=0;i--) { SetConsol

记我兵荒马乱的一周(0808-0812)--用户反馈及修改点验证

夜深了,但我还不愿睡去,总觉得应该对上周那五天兵荒马乱的工作生活做个总结备忘,心里有个底,才能睡得踏实. 上周主要做了3件事,那便一个个讲起. 第一件事:测试用例的执行 在这件事上,没有出太大的问题,基本是属于回归测试和冒烟测试,因为是很成熟的产品,回归一般问题比较少,冒烟测试的话,新开发出的软件BUG很多,找起来也相对容易. 不过作为下周的常规工作之一,还是需要注意以下几点 : 1. 提升用例执行的速度,每次的用例,执行起来都会有一些不懂意思的或不知道如何执行的,或许跟其他人交流下最开始是如何

修改OWA验证方式及分配证书服务

大家好,由于最近在做一个项目,所以有几天没有跟大家一起分享关于Exchange的内容了,今天就来给大家讲一个之前与到的故障问题及解决办法,希望能够帮助到大家今后的TroubleShooting. 首先,我先还原一下当时的一个场景.有一家公司,目前使用的是Exchange 2013的邮件系统,并且使用的是TMG2010在做邮件发布.最近该公司购买了通配符证书,想再TMG上更改通配符证书,但是无论如何更改与配置,Exchange的发布一直有问题.查阅了很多资料,发现很多达人说是TMG和通配符证书存在

iOS 修改toolbar里面文字的字体和大小

使用NSDictionaty来设置文本的属性: NSDictionary * attributes = @{NSFontAttributeName: [UIFont fontWithName:@"Heiti SC" size:20]}; [confirmBarButton setTitleTextAttributes:attributes forState:UIControlStateNormal]; 完整代码: self.inputToolbar = [[UIToolbar allo

SpringMVC验证框架Validation自定义注解实现传递参数到国际化资源文件

关于SpringMVC验证框架Validation的使用方法,不是本篇的重点,可参见博文SpringMVC介绍之Validation 在使用Validation时,一定有朋友遇到过一个问题,那就是:无法传递参数到国际化资源文件properties错误描述中. 举个例子: User类中 @NotEmpty(message="{password.empty.error}") private String password; 资源文件validation_zh_CN.properties中为

Null作为参数的时候,Java编译器如何调用函数?

1 public class TestNull { 2 public void method(Object o){ 3 System.out.println("Object Version"); 4 } 5 6 public void method(String s){ 7 System.out.println("String Version"); 8 } 9 10 public static void main(String[] args) { 11 TestNu

JS中NULL和undifined区别及NULL的作用

1.博客地址:http://www.cnblogs.com/eastday/archive/2010/03/03/1677324.html 2.参考地址2:https://www.zhihu.com/question/35677602/answer/63984217 JS中Null与Undefined的区别 在JavaScript中存在这样两种原始类型:Null与Undefined.这两种类型常常会使JavaScript的开发人员产生疑惑,在什么时候是Null,什么时候又是Undefined?

值不能为 null。 参数名: source

今天调试程序总是报一个异常: 值不能为 null.参数名: source 异常详细信息: System.ArgumentNullException: 值不能为 null.参数名: source 通过断点发现是这段代码错误,发生这个异常通常是方法中某个参数为空了,而我的方法中没有一个名为source的参数啊,后来发现是 processors 为 NULL ,调用 Select 方法当然会出错. processors = taskWfService.IdentifyNextWorkflowProce