今天做项目时遇上一个需求,当浏览器或页面关闭时将数据存储到数据库内.实现思想是采用js监测onunload然后发送请求.结果失败,刷新可以发送但是关闭并不能,整了一整天并没有解决,最后找到了解决办法. 先贴个能实现功能的方法: function saveStatus(){ /*结束时保存设备状态*/ window.onbeforeunload=function(){//必须使用beforeunload var url ="device_saveDeviceStatus"; $.ajax…
我用socket分别创建了一个服务器和一个客户端. 当服务器程序运行时,客户端和服务器发送接收数据是OK的. 但是,如果服务器程序关闭以后,客户端仍然发送请求的话,会抛出一个IOException.但这个时间间隔很久,要三到四分钟才会抛出这个异常的.刚开始还以为是死机了呢! 我想在客户端做一个处理:如果服务器未开,要弹出一个提示框,然后结束当前程序. 请问怎么实现? 附创建客户端的部分代码: Socket socket = new Socket("10.13.81.3",5000);…
比如有需求是要让页面关闭时, 在数据库中记录用户的一些数据或log日志. 这时就需要在用户关闭页面时发起HTTP请求. 做法是对window.onunload设置事件监听函数, 在函数内发起AJAX请求. 不过有时候页面已经卸载了, 但请求还没有发出, 这时就失败了, 解决这一问题的思路有两种: 1. 在监听函数内做一些比较耗时的操作, 保证请求发出; 2. 使用Navigator.sendBeacon(). 方法一: 耗时法. function log() { let xhr = new XM…
遇到的问题: 在做官网的时候,需要滚动定位的区块的图片不确定,无法确定用户浏览区域对应的模块导航 之前的解决方案是: 通过定位滚动条的位置来判断用户浏览区域对应的模块导航,这种方法的弊端是,区块的高度不确定时就无法计算滚动条的位置来判断: 优化方案: 页面中会有多个模块,每个模块对应一个导航,当页面滚动到某个模块时,对应的模块导航需要加上一个类用于区分当前用户所浏览区域. 以下是DEMO <!-- html --><div class="container">…
在java后端发送请求给另一个平台,从而给前端实现 "透传"的过程中,出现:数据请求到了并传到了前端,但是控制台打印时中文显示Unicode码而前端界面中中文显示不出来!!!开始怀疑是编码格式或透传过程中处理的问题,将编码格式进行了设置并查资料了解了一下透传过程中代码的处理方法,虽然最后发现是前后端定义的json串的属性名称不一致导致(后端传输数据中属性名label写成了lable...),但在此还是记录一下"透传"处理过程中处理数据流的三种方式. 主要是介绍经常用…
项目中需要前端发送请求给后端,而后端需要从另一个平台中取数据然后再透传给前端,通过下述代码将其实现.在此记录一下. package com.autotest.utils; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.URL; import java.net.URLConnection; import java.util.Li…
// A.html <html> <head> <script type="text/javascript"> alert("refresh"); </script> </head> <body> <a onclick="javascript:window.open('b.html');">OpenNewWindow</a> <body>…
Ajax只是利用脚本访问对应url获取数据而已,不能做除了获取返回数据以外的其它动作了.所以浏览器端是不会发起重定向的. 1)正常的http url请求,只有浏览器和服务器两个参与者.浏览器端发起一个http请求,服务器端处理后发起一个重定向,浏览器端从response中获取到重定向地址,发起另一个http url请求.也就是说,浏览器会按照response中的内容进行响应(如重定向),这是浏览器的功能决定的就得响应. 2)Ajax请求,参与者就有三个即ajax.客户端.服务器,ajax处于客户…
GET请求 $.get("/api/v1.0/user",function(resp){ // 用户未登录 if ("4101" == resp.errno) { location.href = "/login.html"; } // 查询到了用户的信息 else if ("0"== resp.errno){ $("#user-name").val(resp.data.name); if (resp.dat…
在页面向后台发送请求时,报如上图的错误的解决办法: 在WebModule.cs类中的PreInitialize方法中加 Configuration.Modules.AbpWeb().AntiForgery.IsEnabled = false; 另外还有添加引用: using Abp.Configuration.Startup; 出现这个问题的原因是没有使用abp.ajax的请求方式,而是使用其他的方式 另外还有其他的解决办法: 1.在Controller的Action里标注:[DisableAb…
一.在HTML中嵌入Javasript的方法 直接在Javascript代码放在标记对<script>和</script>之间 由<script />标记的src属性制定外部的js文件 放在事件处理程序中,比如:<p onclick="alert('我是由onclick事件执行的Javascript')">点击我</p> 作为URL的主体,这个URL使用特殊的Javascript:协议,比如:<a href="…
Onunload,onbeforeunload都是在刷新或关闭时调用,可以在<script>脚本中通过window.onunload来指定或者在<body>里指定.区别在于onbeforeunload在onunload之前执行,它还可以阻止onunload的执行.  Onbeforeunload也是在页面刷新或关闭时调用,Onbeforeunload是正要去服务器读取新的页面时调用,此时还没开始读取:而onunload则已经从服务器上读到了需要加载的新的页面,在即将替换掉当前页面时…
网站开发中,常常会遇到需要弹出窗体的情况,一般弹出框有模态和非模态两种,如下: 模态:window.showModalDialog() 非模态:window.showModelessDialog() 另外还有window.open 方法,以及通过div来模拟弹出框效果的形式. window.open请自行百度,了解不深:div模拟的方式不适用与,弹出框中某些组件与父页面组件不相容的情况,如笔者所在项目,父页面中的jquery与整个网站js框架不相容(当然不是简单的可以通过替换$关键字来解决).所…
许多OpenCart系统的用户都发现联系我们contact us页面提交时发生错误.本页发生错误是正常的,原因如下: 1. 你设定了SMTP,因此SMTP默认是从你设置的SMTP的email账户中发出邮件: 2. 联系我们contact us页面提交时,默认发送方是你提交的email地址,而这是要被你的SMTP服务器所拒绝的. 解决办法: 1. 如果你的服务器支持Mail Protocol之Mail方式,那就修改文件catalog/controller/inforamtion/contact.p…
AJAX 向服务器发送请求   创建 XMLHttpRequest 对象后,就可以向服务器发送请求了. XMLHttpRequest 对象的 open() 方法和 send() 方法用来向服务器发送请求. 注意:AJAX 向服务器发送的是 http 请求,与我们浏览网页时发送的 http 请求一样.我们可以右键查看当前网页的源代码,由很多 HTML.CSS和JavaScript 组成,如果我们使用 AJAX 请求当前的 URL ,返回的内容是一样的.(魔芋:也就是说ajax发送的,和我们平时输入…
在Java中想后台服务器发送请求一般都直接使用了Java的网络编程,或者使用HttpClient向后台服务器端发送HTTP请求.虽然在安卓中,所有Java的API都可以使用,而却使用其并不会出现什么问题,但是HttpClient毕竟是基于Java标准实现的一个类,在安卓中,想要连接后台服务器端,专门基于android实现了一个类,为HttpURLConnection.通过HttpURLConnection,我们可以实现向服务器端发送HTTP请求,连通后台服务器和客户端. 这几天刚好在做andro…
问题:ajax发送请求出现cors跨域 解决办法:可以通过java代理的方式,后台发送请求 1.get请求 public void proxyGet(String url) { try { URL realUrl = new URL(url); URLConnection connection = realUrl.openConnection(); // 设置通用的请求属性 connection.setRequestProperty("accept", "*/*")…
参数不使用@RequestBody 在使用Postman进行Post请求时,通常做法是填入key和value的值即可. 参数使用@RequestBody 使用@RequestBody注解时,在发送请求时,就需要在Postman的"headers"添加key:Content-Type,value:application/json 在"body"中选择"raw"添加json数据,类似于: {"appId":3}…
当页面在关闭或刷新时提示 window.onbeforeunload(function(){ //判断是关闭还是刷新 1.满足关闭,否则是刷新 if(event.clientX>document.body.clientWidth && event.clientY < 0 || event.altKey){ //关闭时怎么处理 }else{ //刷新时怎么处理 } }): 触发条件: 1.关闭浏览器窗口2.通过地址栏或收藏夹前往其他页面的时候3.点击返回,前进,刷新,主页其中一个…
本文转之http://www.qqtimezone.top 在我们的日常生活中,时常遇到这么一种情况,当我们在点击一个链接.关闭页面.表单提交时等情况,会提示我们是否确认该操作等信息. 这里就给大家讲讲javascript的onbeforeunload()和onunload()两个事件. 相同点: 两者都是在对页面的关闭或刷新事件作个操作. 不同点: unbeforeunload()事件执行的顺序在onunload()事件之前发生.(因为,unbeforeunload()是在页面刷新之前触发的事…
javascript捕获窗口关闭事件有两种方法 onbeforeunload()      ,onUnload() 用法有两种: 1.    function      window.onbeforeunload()      {      alert("关闭窗口")} function      window.onunload()      {      alert("关闭窗口")} 2.      在body 标签里加入onUnload事件 <body o…
卸载事件(onunload) 当用户退出页面时(页面关闭.页面刷新等),触发onUnload事件,同时执行被调用的程序. 注意:不同浏览器对onunload事件支持不同. 如下代码,当退出页面时,弹出对话框"您确定离开该网页吗?". 运行结果:(IE浏览器) <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/htm…
用VS2005+SQLSERVER2008开发C/S的程序,程序上线运行一段时间之后发现在某些功能偶尔出现如下的错误: 在向服务器发送请求时发生传输级错误. (provider: TCP 提供程序, error: 0 - 远程主机强迫关闭了一个现有的连接.) ---> System.Data.SqlClient.SqlException: 在向服务器发送请求时发生传输级错误. (provider: TCP 提供程序, error: 0 - 远程主机强迫关闭了一个现有的连接.) 开始一直以为是网络…
当页面是动态时 如果后台存储id可以通过查询后台方式获取对象;当后台没有存储时候 只有通过前端标记了 例如标记数量为10 我们根据传递过来的10循环取值…
利用JavaScript将页面截图生成图片传给后台的插件:html2canvas 一.总结 一句话总结: 10 <script type="text/javascript"> 11 function takeScreenshot() { 12 html2canvas(document.getElementById('view')).then(function(canvas) { 13 document.body.appendChild(canvas); 14 }); 15…
webdriver定位页面元素时使用set_page_load_time()和JavaScript停止页面加载 原文:https://my.oschina.net/u/2344787/blog/400507?p={{page}} 引言: 在使用webdriver的get方法打开页面时,可能页面需要加载的元素较多导致加载时间很长,而时间过长会导致后面的操作无法进行,甚至直接报错:所以在页面加载到一定时间,实际需要定位的元素很大可能上已经加载出来时,需要停止页面的加载,进而进行下面的操作: 例如:g…
今天使用sql server 2008 R2管理器,进行SQL查询时,频率非常高的报错: System.Data.SqlClient.SqlException: 在向服务器发送请求时发生传输级错误. (provider: TCP 提供程序, error: 0 - 远程主机强迫关闭了一个现有的连接.) 起初以为网络问题,后来排查后仍未解决. 苦思冥想后,记得昨天刚给同事拷贝了自己的虚拟机,他没有进行任何更改后进行使用.才得知: 在局域网内两个机器的Mac地址相同造成的.修改一个后即解决.…
最近在做一个资产管理系统项目,其中有一个部分是客户端向服务端发送采集到的数据的,服务端是Django写的,客户端需要用rrequests模块模拟发送请求 假设发送的数据是这样的: data = {'status' : True , 'content' : { 'k1' : 'xxxx' , 'k2' : 'xxxx' }} 是字典套字典的,然后通过requests.post(url = url ,data = data) 发送,会发现在服务端接收到的数据是这样的,<QueryDict>:{  …
解决方案:关闭浏览器窗口关闭时,停止调试 .就恢复正常,无异常…