java程序,ajax提交,其中部分数据丢失

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java程序,ajax提交,其中部分数据丢失相关的知识,希望对你有一定的参考价值。

我做了一个考试的系统,本地测试没有问题,将程序放到服务器上,客户用的时候,做题的时候,出现了部分用户,有些做了的题,没进数据库(已经在前台加了每道题必须答题),如果给他改数据库数据,重新做,又不会数据丢失。查看了半天都没找到问题在哪里,求大神帮忙说下,到底哪里出问题了

这种情况通过简单描述很难确定错误在哪里。可以通过加入日志进行测试检查。比如所有提交的数据写入日志,如果在出现类似情况,可以通过日志查找。
或者在请求进入后台后,对用户提交的所有数据进行校验。如果校验发现数据项有缺失(这时基本可以肯定前台提交数据不完整),则着重检查前台js代码。如果没有,则可能是后台保存过程中数据项有缺失了。追问

现在麻烦的是,已经在客户用了,我一个人在本地怎么做都不会出现问题,我也必须实现多个人在提交才行,而且,他们的数据我们还不能随便改动了

追答

我之前说的两个解决方法都不用修改他们的数据的,只是对他们的程序进行升级而已。如果加日志,找到bug修改后,可以通过级别控制吧日志关掉。不影响使用。如果是前台js代码问题,则要提示用户使用什么浏览器,或者你自己做兼容性测试以及修改。

追问

好吧,虽然没有直接解决问题,但也提出了解决的方向,还是谢谢你,分给你了

参考技术A 在ajax提交时增加一个参数,传递时间戳,避免ajax认为是重复提交而不请求后台的情况。追问

每一个用户提交的时候,是把全部提交到后台,在后台进行拆分,保存进数据库的,所以,不会是提交而不请求的情况。

参考技术B 楼主,请问问题解决了吗?我也遇到了同样的问题,能分享下解决方法吗?

LQ0180 稍小分数程序填空

题目来源:蓝桥杯2018初赛 C++ C组F题

题目描述
本题为代码补全填空题,请将题目中给出的源代码补全,并复制到右侧代码框中,选择对应的编译语言(C/Java)后进行提交。若题目中给出的源代码语言不唯一,则只需选择其一进行补全提交即可。复制后需将源代码中填空部分的下划线删掉,填上你的答案。提交后若未能通过,除考虑填空部分出错外,还需注意是否因在复制后有改动非填空部分产生错误。

回到小学----

真分数:分子小于分母的分数。

既约分数:分子分母互质,也就是说最大公约数是 1。

x 星球数学城的入口验证方式是: 屏幕上显示一个真分数,需要你快速地找到一个比它小的既约分数,要求这个分数越大越好。同时限定你的这个分数的分母不能超过 100。

如下代码很暴力地解决了这个问题,请仔细分析,并填写划线部分缺失的代码。

源代码
C

#include <stdio.h>

int gcd(int a, int b)

    if(b==0) return a;
    return gcd(b,a%b);    

int main()

    // 这是屏幕上显示的那个分数 a/b
    int a,b;
    scanf("%d %d",&a,&b);
    int m,n;
    int max_a = 0;
    int max_b = 1; 
    
    for(n=100; n>1; n--)
        for(m=n-1; m>=1; m--)
            if(m*b<a*n && gcd(m,n)==1)
                if( __________________________________ )  //填空
                    max_a = m;
                    max_b = n;
                    break;
                
            
        
    
    
    printf("%d/%d\\n", max_a, max_b);    
    return 0;

问题分析
填入“max_b * m > max_a *n”

AC的C语言程序如下:

#include <stdio.h>

int gcd(int a, int b)

    if(b==0) return a;
    return gcd(b,a%b);    

int main()

    // 这是屏幕上显示的那个分数 a/b
    int a,b;
    scanf("%d %d",&a,&b);
    int m,n;
    int max_a = 0;
    int max_b = 1; 
    
    for(n=100; n>1; n--)
        for(m=n-1; m>=1; m--)
            if(m*b<a*n && gcd(m,n)==1)
                if( max_b * m > max_a *n )  //填空
                    max_a = m;
                    max_b = n;
                    break;
                
            
        
    
    
    printf("%d/%d\\n", max_a, max_b);    
    return 0;

以上是关于java程序,ajax提交,其中部分数据丢失的主要内容,如果未能解决你的问题,请参考以下文章

营业执照丢了怎么补办,程序麻烦吗

sql增加字段记录丢失 sql数据表丢列 软件增加字段后之前记录丢失

HTTP 丢包

CPU静默数据错误:存储系统数据不丢不错的设计思考

网易云课堂_Java语言程序设计进阶_第1周 类和对象_1分数

身份证丢了怎么申请转码?