Year: 2023

  • jquery ajax 无窗口下载文件

    1、jquery 版本 要实现该功能需要使用jquery 3.x版本,这里使用了3.7.0 <script src="/jquery-3.7.0.min.js"></script> 2、实现 $("#btn-export").on('click',function (){ var form_data = new FormData(); form_data.append("account", $('input[name="account"]').val()); $.ajax({ type: "post", url: "/account_export", data:form_data, /* 重点一、processData 和 contentType 都为false*/ processData:false, contentType:false, timeout:0, xhr:function (){ /* 重点二、数据类型 */ var xhr = new XMLHttpRequest(); xhr.responseType = 'blob'; return xhr; }, success: function (file,a,b) { /* 重点三、文件名 */ let filename…

  • IOException: 您的主机中的软件中止了一个已建立的连接。

    问题一帮是处理的数据较大,导致链接超时。 接方法及排查位置: 1、前端请求链接超时时间设置 timeout var form_data = new FormData(); form_data.append("param",$("input[name='param']").val()); $.ajax({ url:'/dowloand', type:'POST', data:form_data, processData:false, contentType:false, timeout: 0, //超时时间,单位ms。文件很大这里设置0不做超时处理 xhr:function (){ var xhr = new XMLHttpRequest(); xhr.responseType = 'blob'; return xhr; }, success:function (file){ let a = document.createElement('a'); let url = window.URL.createObjectURL(file); a.href = url; a.download = file.name; a.click(); window.URL.revokeObjectURL(url); }, error: function (a,b,c){ console.log(a);…

  • php 调用java接口签名注意点

    json_encode 中文和转义反斜杠问题 $arr = ['name'=>'中文','path'=>'/image/ok.jpg']; echo json_encode($arr); //输出 {"name":"\u4e2d\u6587","path":"\/image\/ok.jpg"} echo "<br/>"; echo json_encode($arr,JSON_UNESCAPED_UNICODE); //输出 {"name":"中文","path":"\/image\/ok.jpg"} echo "<br/>"; echo json_encode($arr,JSON_UNESCAPED_SLASHES); //输出 {"name":"\u4e2d\u6587","path":"/image/ok.jpg"} echo "<br/>"; echo json_encode($arr,320); //输出 {"name":"中文","path":"/image/ok.jpg"} empty 和 数字0 的判断问 $i = 0; echo empty($i)?"true":"false"; //输出 true echo "<br/>"; echo $i==0?"true":"false"; //输出 true echo "<br/>"; echo $i=="0"?"true":"false"; //输出 true echo "<br/>"; //判断失败 if(empty($i)&&$i!=0){ continue;…

  • 一个常用的可能都很标准的东西

    @Getter @ToString @AllArgsConstructor public enum BaseResponseEnum { CODE_SUCCESS(10000,"请求成功"), CODE_FAIL(10001,"请求失败"), CODE_NOT_ALLOW(10002,"拒绝请求"), CODE_TIMEOUT(10003,"请求超时"), CODE_EXPIRE(10004,"登录超时"); private Integer code; private String msg; } @Data public class BaseResponse<T> { private Boolean success; private Integer code; private String msg; private T data; public static BaseResponse win(){ BaseResponse response = new BaseResponse(); response.setSuccess(true); response.setCode(BaseResponseEnum.CODE_SUCCESS.getCode()); return response; } public static BaseResponse fail(){ BaseResponse…