arcthur 2017-10-18 10:13 采纳率: 0%
浏览 1161

页面只发了一次请求,后台执行了两次代码,大概间隔了10s,求告知

$scope.submitFile = function (){
//判断参数
var fileName = document.getElementById("file").value;

                if(StringUtil.isBlank(fileName)){
                    toaster.pop("warning", "", "请选择文件");
                    return;
                } 
                $scope.loading = true;
                $scope.loadText = "正在上传中...";
                $.ajaxFileUpload({
                        url: './question/XXXX', //用于文件上传的服务器端请求地址
                        secureuri: false, //是否需要安全协议,一般设置为false
                        fileElementId: 'file', //文件上传域的ID
                        dataType: 'json', //返回值类型 一般设置为json
                        success: function (data, status){ //服务器成功响应处理函数
                            $scope.loading = false;
                            if(data.header.statusCode == 'success' && !$scope.loading) {
                                if(StringUtil.isNotBlank(data.body) && StringUtil.isNotBlank(data.body.outPath)) {
                                    outPath = data.body.outPath;
                                    toaster.pop(data.header.statusCode.toLowerCase(), "", "文件上传成功,请选择题目分类");
                                    return;
                                }

                            }else{
                                toaster.pop(data.header.statusCode.toLowerCase(), "", data.header.msgArray[0].desc);
                                return;
                            }
                        },
                        error: function (data, status, e){//服务器响应失败处理函数
                            $scope.loading = false;
                            toaster.pop(CommonUtil.TOASTER_WARNING, "", e);
                            return;
                        }
                    });
                }
            $scope.submitCode = function(){
                if(StringUtil.isNotBlank(outPath)){

                    if(StringUtil.isBlank($scope.question_title)){
                        toaster.pop("warning", "", "请选择题目分类");
                        return;
                    }
                    if(StringUtil.isBlank($scope.question_category)){
                        toaster.pop("warning", "", "请选择题目类型");
                        return;
                    }

                    if($scope.question_category == "课文跟读"){//课文跟读
                        $scope.path = "./question/XXXX";
                    }else if($scope.question_category == "单词拼写"){//单词拼写
                        $scope.path = "./question/XXXX";
                    }else if($scope.question_category == "听音选词"){//听音选词
                        $scope.path = "./question/XXXX";
                    }else if($scope.question_category == "趣配音"){//趣配音
                        $scope.path = "./question/XXXX";
                    }

                    $scope.loading = true;
                    $scope.loadText = "正在上录入数据...";
                    $http.get($scope.path+"/?outPath="+outPath+"&title="+$scope.question_title).success(function(response) { //查找当前ID的分类信息
                        $scope.loading = false;
                        if(!$scope.loading){
                            if(StringUtil.isNotBlank(response.body) && StringUtil.isNotBlank(response.body.createdNum)) {
                                $scope.createdNum = response.body.createdNum;
                            }else {
                                $scope.createdNum = 0;
                            }
                            toaster.pop(response.header.statusCode.toLowerCase(), "", "成功录入或更新 "+$scope.createdNum+" 行数据");
                            $modalInstance.close(); //关闭模态框
                            refresh();
                        }
                    }).error(function(response) {
                        $scope.loading = false;
                        toaster.pop(response.header.statusCode.toLowerCase(), "", response.header.msgArray[0].desc);
                    });
                }else{
                    toaster.pop("warning", "", "请先上传文件");
                    return;
                }

            }
            $scope.cancelCodeCreate = function() { //取消
             $modalInstance.dismiss('cancel');
        }

        }   
    });
}
  • 写回答

1条回答 默认 最新

  • 菜鸟才能学的更多 2023-02-15 14:43
    关注

    MINA是一个用Java编写的高性能网络通信框架,可以用于开发各种类型的服务器和客户端应用程序。如果您要使用MINA客户端与C++服务器端通信,有多种方案可以选择,具体取决于您的具体需求和技术栈。

    以下是一些可能的方案:

    1. 使用TCP协议进行通信。MINA提供了一套TCP协议的实现,您可以使用它来与C++服务器进行通信。您需要在C++服务器端使用相应的TCP库来实现服务器端的网络通信。一些流行的C++ TCP库包括Boost.Asio和libevent。

    2. 使用UDP协议进行通信。如果您的应用程序需要快速、低延迟的通信,可以考虑使用UDP协议进行通信。MINA也提供了一套UDP协议的实现,您可以使用它来与C++服务器进行通信。您需要在C++服务器端使用相应的UDP库来实现服务器端的网络通信。一些流行的C++ UDP库包括Boost.Asio和libevent。

    3. 使用WebSocket协议进行通信。如果您需要在客户端和服务器端之间实现双向通信,可以考虑使用WebSocket协议进行通信。MINA提供了一套WebSocket协议的实现,您可以使用它来与C++服务器进行通信。您需要在C++服务器端使用相应的WebSocket库来实现服务器端的网络通信。一些流行的C++ WebSocket库包括uWebSockets和libwebsockets。

    4. 使用消息队列进行通信。如果您需要在客户端和服务器端之间实现异步通信,可以考虑使用消息队列进行通信。您可以在MINA客户端和C++服务器端之间使用一个共享的消息队列,并在消息队列中传递数据。一些流行的C++消息队列包括RabbitMQ和ZeroMQ。

    需要注意的是,这些方案各有优缺点,具体选择取决于您的具体需求和技术栈。您需要仔细评估每种方案的优缺点,并选择最适合您的应用程序的方案。

    评论

报告相同问题?

悬赏问题

  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
  • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
  • ¥30 3天&7天&&15天&销量如何统计同一行
  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)
  • ¥20 怎么在stm32门禁成品上增加查询记录功能