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 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘