safari

原生态ajax 传递json参数到服务器端

好久不见. 提交于 2020-08-17 03:02:45
案例说明:通过ajax将用户名和密码以json形式传递给服务器端,然后服务器端接受数据,进行处理返回json数据到前端 首先,在客户端,通过JavaScript脚本将页面表单数据封装成JSON格式。LoginAjax()函数完成了这一功能。然后我们通过ajax将数据发送到服务端的login.ashx。其中用到了JSON.stringify()方法,它可以将客户端发送的JSON数据对象进行序列化操作,详细的内容可以看这里 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify // 通过ajax调用后台服务端程序,进行数据校验 function LoginAjax(accountName, password) { var httphtml; if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari httphtml = new XMLHttpRequest(); } else { // code for IE6, IE5 httphtml = new ActiveXObject("Microsoft.XMLHTTP" ); } if (!

京淘后端商品管理-Day05

不羁岁月 提交于 2020-08-17 00:04:31
1.京淘后端业务实现(二) 1.1 商品删除 1.1.1 业务分析 说明:当用户点击删除按钮时,提交多个ID数据信息,之后删除后端服务器数据. 1).页面ajax请求 1.1.2 编辑ItemController /** * 补充1: SpringMVC框架 不熟! * 页面中传递什么样的数据,后端才能接收什么样的数据. * 要求1: name属性名称必须与参数名称一致. * 要求2: name属性名称必须与属性名称一致 * 例子1: * 页面信息 <input type="text" name="id" value="100" /> * 页面信息 <input type="text" name="age" value="19" /> * 页面信息 <input type="text" name="sex" value="男" /> * * 补充2: SpringMVC底层实现Servlet,数据传输协议https/http 一般传递的数据都是String结构. * 案例: 页面信息 <input type="text" name="sex" value="男" /> * 页面信息 <input type="text" name="sex" value="男" /> * 页面信息 <input type="text" name="sex" value="男" /> *

原生js实现复制内容到剪切板,兼容pc、移动端(支持Safari浏览器)

蓝咒 提交于 2020-08-16 10:57:34
在开发中经常会遇到这样的需求,第一种就是点击复制当前页面的链接,第二种就是类似卡券的功能,需要复制密码等等。 在网上看到有很多该功能的实现代码,除了插件clipboard.js、ZeroClipboar兼容性较好以外,其他大部分在safari,ios上的微信端这些并不兼容。那么在不使用插件的情况下,为大家整理了一份较为兼容的实现方式:纯js实现复制文本并提示复制成功(干货)适用所有浏览器,直接放项目就能用。 代码如下: <a onclick="copyTxt('这是要复制的内容哦')">点击复制</a> js: <script> //原生js实现复制内容到剪切板,兼容pc、移动端(支持Safari浏览器) function copyTxt(text){ if(typeof document.execCommand!=="function"){ alert("复制失败,请长按复制"); return; } var dom = document.createElement("textarea"); dom.value = text; dom.setAttribute('style', 'display: block;width: 1px;height: 1px;'); document.body.appendChild(dom); dom.select(); var result =

常见的兼容性问题

拥有回忆 提交于 2020-08-16 03:11:49
常见的兼容性问题 浏览器有着大量不同的版本,不同种类的浏览器的内核也不尽相同,所以不同浏览器对代码的解析会存在差异,这就导致对页面渲染效果不统一的问题。 初始化样式 因浏览器兼容的问题,不同的浏览器对标签的默认样式值不同,如果不初始化会造成不同浏览器之间的显示差异,布局出现错乱,所以要初始化样式,达到统一的布局。 最粗暴的方案就是使用 * 初始化样式,但是其会对于所有的标签加载样式以及计算样式优先级,可能会对性能有所影响。 * { margin: 0; padding: 0; } 通常使用 Normalize.css 抹平默认样式差异,当然也可以根据样式定制自己的 reset.css 。 <link href="https://cdn.bootcss.com/normalize/7.0.0/normalize.min.css" rel="stylesheet"> 内核样式兼容 在 CSS3 标准还未确定时,部分浏览器已经根据最初草案实现了部分功能,为了与之后确定下来的标准进行兼容,所以每种浏览器使用了自己的私有前缀与标准进行区分,当标准确立后,各大浏览器将逐步支持不带前缀的 CSS3 新属性,目前已有很多私有前缀可以不写了,但为了兼容老版本的浏览器,可以仍沿用私有前缀和标准方法,逐渐过渡。 内核 代表浏览器 前缀 Trident IE浏览器 -ms Gecko Firefox

你可能不太了解的JSON

拥有回忆 提交于 2020-08-15 09:02:39
前言 这个知识点面试中被问的概率虽然很低,但是也有可能会问。 JSON流行原因 拥有与js类似的语法 可以将JSON数据结构解析成js对象 与XML数据结构对比,提取数据更简单 JSON语法 简单值 字符串=>“123” 数值=>123 布尔值=>true null 对象 {"name": "helin",“age”: 12} 数组 [ {"name": "iskeeping","age": 12} ] 注意 :JSON的key一定要用双引号,以及value如果是字符串也一定要用双引号。 JSON解析方式 使用eval eval ( "({\"name\":\"iskeeping\"})" ) 复制代码 使用Function new Function( "" , "return ({\"name\":\"iskeeping\"})" )() 复制代码 使用JSON.parse JSON.parse( "{\"name\":\"iskeeping\"}" ) 复制代码 JSON序列化 let json = 简单值/对象/数组 JSON.stringify(json,null/[]/function(key,value){},缩进空格长度/字符串) 例: let formateJson = JSON.stringify({ name: "iskeeping" , age: 12 },

为什么不将CORS标头添加到OPTIONS路由允许浏览器访问我的API?

扶醉桌前 提交于 2020-08-15 07:53:39
问题: I am trying to support CORS in my Node.js application that uses the Express.js web framework. 我正在尝试在使用Express.js Web框架的Node.js应用程序中支持CORS。 I have read a Google group discussion about how to handle this, and read a few articles about how CORS works. 我已经阅读 了 有关如何处理此 问题的Google小组讨论 ,并阅读了一些有关CORS工作原理的文章。 First, I did this (code is written in CoffeeScript syntax): 首先,我做到了(代码是用CoffeeScript语法编写的): app.options "*", (req, res) -> res.header 'Access-Control-Allow-Origin', '*' res.header 'Access-Control-Allow-Credentials', true # try: 'POST, GET, PUT, DELETE, OPTIONS' res.header 'Access-Control-Allow

js复制内容到剪切板

為{幸葍}努か 提交于 2020-08-15 03:25:03
注意第一部分的内容不兼容Safari,全兼容的请使用第二部分方法 第一部分 查看demo请点 这里 。 原生js复制指定内容到剪切板,超简单的实现方式, 实现思路如下: 1.创建一个input,把想要复制的内容赋值到input的value上; 2. 把这个input插入到body内; 3.获取这个input,对它执行选中; 4.执行documen的copy事件; 5,删除刚刚插入的input。 代码如下: html: <button id="btn">复制</button> js: // 复制的方法 function copyText(text, callback){ // text: 要复制的内容, callback: 回调 var tag = document.createElement('input' ); tag.setAttribute( 'id', 'cp_hgz_input' ); tag.value = text; document.getElementsByTagName( 'body')[0 ].appendChild(tag); document.getElementById( 'cp_hgz_input' ).select(); document.execCommand( 'copy' ); document.getElementById( 'cp_hgz

02爬取豆瓣最受欢迎的250部电影

故事扮演 提交于 2020-08-15 01:45:10
# 爬取豆瓣最受欢迎的250部电影,并写入Excel表格中 import requests,xlwt from bs4 import BeautifulSoup # 请求豆瓣网站,获取网页源码 def request_douban(url): try : # 请求url headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36"} response = requests.get(url,headers = headers) # 判断网页的返回码是不是200 print(response.status_code) if response.status_code == 200: return response.text except requests.RequestException: return None book = xlwt.Workbook(encoding = "utf-8",style_compression = 0 ) # 先定义一个Excel表格,写好名称,图片等信息 sheet = book.add_sheet("豆瓣电影Top250",cell

Python爬虫案例:爬取网易云音乐

旧巷老猫 提交于 2020-08-14 20:21:18
前言 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。 作者:Jonsson 喜欢的朋友欢迎关注小编,除了分享技术文章之外还有很多福利,私信“资料”可以领取包括不限于Python实战演练、PDF电子文档、面试集锦、学习资料等。 代码如下: import os from lxml import etree import requests # 设置头部信息,防止被检测出是爬虫 headers = { ' User-Agent ' : ' Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36 ' } url = " https://music.163.com/discover/toplist?id=3778678 " base_url = ' http://music.163.com/song/media/outer/url?id= ' # 新建一个字典用于存储最终所需要的数据 d = dict() re = requests.get(url=url, headers= headers).text #

2.属性篇(新增的一些属性)

一个人想着一个人 提交于 2020-08-14 12:46:35
# 2.属性篇 - 1. placeholder --实际应用中可用 用于input的提示信息 ```html <input type="text" placeholder="手机/邮箱/用户名"> ``` - 2. Calendar, date, time, email, color, range, url, search --实际应用中一般不使用,兼容性有问题 ```html <form> <!-- Calendar --> <input type="date"> <!-- chrome支持,Safari不支持,IE不支持 --> <input type="time"><!-- chrome支持,Safari不支持,IE不支持 --> <input type="week"><!-- chrome支持,Safari不支持,IE不支持 --> <input type="datetime-local"><!-- chrome支持,Safari不支持,IE不支持 --> <input type="number"> <!--限制输入为数字chrome支持,Safari不支持,IE不支持--> <input type="email"><!-- chrome,Firefox支持,Safari不支持,IE不支持 --> <input type="color"><!-- chrome支持