首页
学习
活动
专区
圈层
工具
发布

ajax中window.location.href不跳转

你的ajax是同步的,所以提交表单动作被挂起直到ajax完毕后(此时执行请求过一次服务器),表单会提交,这样就会执行页面指定的action的地址, 而ajax回调success href的链接赋值不成功...(这个问题有兴趣的去研究) 参考http://www.cnblogs.com/horsen/p/6933038.html 注意起来一个情况:ajax+submit+同步----就是你用ajax请求服务器...,而且用的是同步的方式,并且你是通过点击了type类型为submit的按钮来触发这个ajax。...这个时候,首先你点击了submit,它会提交表单,但是由于你用了ajax的同步操作,submit的提交被阻塞,ajax先执行,这个时候,如果你在ajax的回调函数(如:success)中写了document.location.href...='xxx.html',它是执行了,的确是去执行了跳转的,于是ajax完成了,那接下来就要把刚才的submit提交的请求完成。

2.4K20

Vue 路由跳转深度解析 $router.push VS location.href

││││4.popstate事件仅在浏览器前进/后退时触发│││└──────────────────────────────────────────────────────────────┘││││服务器配置示例...───────────────────────────┐│3.chunk加载完成││-执行beforeEnter││-创建组件实例││-渲染页面│└───────────────────────────...='https://external-site.com';││││││//场景2:完全重置应用状态(如退出登录)│││functionlogout(){│││clearAllStorage();│││window.location.href...='/login';//完全重置应用│││}││││││//场景3:非Vue管理的页面(如静态页面)│││window.location.href='/static/about.html';││││││...//场景4:处理特定错误(如404页面在Vue之外)│││if(isCriticalError){│││window.location.href='/error.html';│││}│││└──────

24910
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    读Zepto源码之Ajax模块

    ajax 请求时触发 ajaxSuccess / ajaxError : 请求成功/失败时触发 ajaxComplete: 请求完成(无论成功还是失败)时触发 ajaxStop: 请求完成后触发,这个事件在...请求时,携带回调函数名的参数名,默认为 callback; jsonpCallback: jsonp 请求时,响应成功时,执行的回调函数名,默认由 zepto 管理; timeout: 超时时间,默认为...0; headers:设置 HTTP 请求头; async: 是否为同步请求,默认为 false; global: 是否触发全局 ajax 事件,默认为 true; context: 执行回调时(如...如果 $.active 的数量减少至 0,即没有在执行中的 ajax 请求时,触发全局的 ajaxStop 事件。...,先清除请求超时定时器,避免触发超时错误,再将插入页面的 script 从页面上删除,因为数据已经获取到,不再需要这个 script 了。

    4.1K00

    AJAX

    创建AJAX对象 发出HTTP请求 接收服务器传回的数据 更新网页数据 概括起来,就是一句话,AJAX通过原生的XMLHttpRequest对象发出HTTP请求,得到服务器返回的数据后,再进行处理。...注意,AJAX只能向同源网址(协议、域名、端口都相同)发出HTTP请求,如果发出跨源请求,就会报错。 1、AJAX 是什么?有什么作用?...这一技术能够向服务器请求额外的数据而无需从新加载页面。 作用:传统的网页(不使用 AJAX)如果需要更新内容,必需重载整个网页面。...8、点击按钮,使用 ajax 获取数据,如何在数据到来之前防止重复点击?...image.png 每次点击加载更多按钮都会发送一条AJAX请求,数据没回来之前,重复点击会被忽略,数据到来后会渲染到页面上出现5条新闻。

    3K50

    iframe 有什么好处,有什么坏处?

    返回自身 window 对象 五、iframe 的长轮询 长轮询就是在 ajax 的 readyState = 4的时,再次执行原函数。...,再次获取信息,并且会触发onload函数 },2000); } 这样就可以实现 ajax 长轮询的效果。...> 这样会对iframe页面进行一系列的限制: script 脚本不能执行 不能发送 ajax 请求 不能使用本地存储,即 localStorage,cookie 等 不能创建新的弹窗和...但带来一些其它的问题:onload 事件以及连接池(connection pool) 2、阻塞页面加载 及时触发 window 的 onload 事件是非常重要的。...这意味着 iframe 在加载资源时可能用光了所有的可用连接,从而阻塞了主页面资源的加载。如果 iframe 中的内容比主页面的内容更重要,这当然是很好的。

    5.3K10

    深入理解iframe

    返回自身 window 对象 五、iframe 的长轮询  长轮询就是在 ajax 的 readyState = 4的时,再次执行原函数。...,再次获取信息,并且会触发onload函数 },2000); } 这样就可以实现 ajax 长轮询的效果。...> 这样会对iframe页面进行一系列的限制: script 脚本不能执行 不能发送 ajax 请求 不能使用本地存储,即 localStorage,cookie 等 不能创建新的弹窗和...但带来一些其它的问题:onload 事件以及连接池(connection pool) 2、阻塞页面加载 及时触发 window 的 onload 事件是非常重要的。...这意味着 iframe 在加载资源时可能用光了所有的可用连接,从而阻塞了主页面资源的加载。如果 iframe 中的内容比主页面的内容更重要,这当然是很好的。

    6.3K11

    基于PhantomJS的动态爬虫引擎

    爬虫功能 爬虫主要需要具备基本功能: javascript动态解析能力 hook所有的网络请求 静态页面链接、表单自动分析能力 自动交互能力 1.1 静态页面链接和表单自动分析 phantomjs提供page.evaluate...代码,从而可以实现js动态解析 1.3 hook所有的网络请求 phantomjs使用page.onResourceRequested方法来hook所有的网络请求,所以可以在这个函数里面截获ajax请求...,获取url和对应的参数 1.4 自动交互 爬虫的自动交互能力就是需要获取页面所有事件,并想办法触发事件,最后获取事件触发的结果。...:JavaScript中提供了dispatchEvent函数,可以触发指定DOM节点的指定事件 2.3 获取事件触发结果 等待页面加载完之后,需要获取所有的、、等标签,...开启页面DOM节点监听,并且触发所有的事件。

    1.9K40

    初学者必看Ajax的总结

    自动更新页面 AJAX 包含以下五个部分: ajax 并非一种新的技术,而是几种原有技术的结合体。它由下列技术组合而成。 使用 CSS 和 XHTML 来表示。 使用 DOM 模型来交互和动态显示。...(默认为 true,一般不建议为 false) false:同步模式发出的请求会暂停所有 javascript 代码的执行,知道服务器获得响应为止,如果浏览器在连接网络时或者在下载文件时出了故障,页面就会一直挂起...true:异步模式发出的请求,请求对象收发数据的同时,浏览器可以继续加载页面,执行其他 javascript 代码 3、发送请求 xhr.send(); 一般情况下,使用 Ajax 提交的参数多是些简单的字符串.../调用本次 Ajax 请求时传递的 options 参数} success Function 请求成功后调用的回调函数,有两个参数(1)由服务器返回,并根据 dataTyppe 参数进行处理后的数据(2...表示是否触发全局 Ajax 事件,设置为 false 将不会触发。

    3.7K40

    AJAX 前端开发利器:实现网页动态更新的核心技术

    AJAX AJAX是开发者的梦想,因为你可以: 在不重新加载页面的情况下更新网页 在页面加载后请求来自服务器的数据 在页面加载后接收来自服务器的数据 在后台向服务器发送数据 HTML页面 AJAX的工作原理 网页中发生事件(页面加载,按钮被点击) JavaScript创建XMLHttpRequest对象 XMLHttpRequest对象向Web服务器发送请求 服务器处理请求 服务器将响应发送回网页...该函数由 onkeyup 事件触发。...该函数由 onkeyup 事件触发。...将请求发送到服务器上的文件 注意,将一个参数(q)添加到 URL(带有下拉列表的内容) AJAX 服务器页面 - "getcustomer.php" 由上面的 JavaScript 调用的服务器上的页面是一个名为

    3.3K00

    什么是AJAX?

    当你的页面全部加载完毕后,客户端会通过 XMLHttpRequest对象向服务器请求数据,服务器端接受数据并处理后,向客户端反馈数据。...//由于 HTTP 响应是由服务端发出的,并且服务器做出响应需要时间(比如网速慢等原因),所以我们需要监听服务器响应的状态,然后才能进行处理。...如果你指定了dataType选项,那么需要保证服务器返回正确的MIME信息,(如 xml 返回 "text/xml")。 实例: 保存数据到服务器,成功时显示信息。...相比于复杂的$.ajax而言,GET请求功能则显得更加简单,请求成功时可调用回调函数。当然如果需要在出错时执行函数,那么还请使用$.ajax。...通过远程 HTTP POST 请求载入信息。 POST请求功能也相对比较简单,请求成功时可调用回调函数。如果需要在出错时执行函数,那么请使用 $.ajax请求。

    2.5K20

    JavaScript之Ajax

    简介:AJax是在2005年被Adaptive Path的Jesse James Garrett发明的,用户概括异步加载页面内容的技术---说通俗点,Ajax就是实现局部页面通过JavaScript与后台服务器交互...以往的请求都由浏览器发出,而JavaScript通过这个对象可以自己发出请求,同时也自己处理服务器的响应。...对象送回响应的时候触发执行    ---服务器对客户端的响应一开始就触发 注意:在为onreadystatechange指定引用时,不要在函数后面加括号,如request.onreadystatechange...2表示加载完毕 3表示正在交互 4表示完成 只要readyState属性值变成了4,就可以访问服务器发送回来的数据了; 4、访问服务器发送回来的数据要通过两个属性来完成。...2、有些浏览器会限制Ajax请求使用的协议。比如在Chrome中,如果你使用file://从自己的硬盘里加载example.txt ,浏览器就会报(跨域请求只支持HTTP协议)的错误消息。

    1.1K70

    使用AJAX获取Django后端数据

    使用Django服务网页时,只要用户执行导致页面更改的操作,即使该更改仅影响页面的一小部分,它都会将完整的HTML模板传递给浏览器。...我们必须通过添加方法“ POST”来明确地告诉它发出POST请求。 Credentials 我们需要指定如何在请求中发送凭据。凭证可能很棘手,特别是如果项目的前端和后端分别托管。...确保请求是AJAX 在大多数情况下,都会发出AJAX请求,因为我们只希望更新页面的一部分,并且需要获取新数据来进行更新。在页面上下文之外,JsonResponse返回的数据本身很少使用。...可以向视图中添加其他逻辑(例如重定向),以防止用户尝试在没有AJAX请求的情况下访问视图时看到错误。...总结 通过在Django项目中使用AJAX请求,我们可以更改页面的某些部分而无需重新加载整个页面。提取API使添加此功能相当轻松,同时需要最少的JavaScript。

    10.1K40

    springboot展示页面(及关于ajax中页面不跳转问题)

    window.location.href = "login.html":console.log("do noting"); console.log('请求失败:'+e); } });...你的ajax是同步的,所以提交表单动作被挂起直到ajax完毕后(此时执行请求过一次服务器),表单会提交,这样就会执行页面指定的action的地址, 而ajax回调success href的链接赋值不成功...参考网络上的说明:你点击了submit,它会提交表单,但是由于你用了ajax的同步操作,submit的提交被阻塞,ajax先执行,这个时候,如果你在ajax的回调函数(如:success)中写了document.location.href...='xxx.html',它是执行了,的确是去执行了跳转的,于是ajax完成了,那接下来就要把刚才的submit提交的请求完成。...即:ajax就是如你所想那样执行了,也从A页面跳到了B页面,但是由于submit这种类型的特殊性,又让B页面跳回了A页面,由于这个ajax执行完再执行submit请求的过程处理的很快,你会感到好像没有效果

    2.4K30

    【实战】1886- 教你怎么前端实现埋点上报

    ,并不会发起请求 image.png 书接上文,当我们将这个标签挂载中页面上时: js 复制代码document.body.appendChild(a) 这时发起了请求 image.png 结论 当我们使用...基于img做埋点上报 通常使用img标签去做埋点上报,img标签加载并不需要挂载到页面上,基于js去new image(),设置其src之后就可以直接请求图片。...对于ajax在页面卸载时上报,ajax有可能没上报完,页面就卸载了导致请求中断,因此ajax处理这种情况时必须作为同步操作. sendBeacon是异步的,不会影响当前页到下一个页面的跳转速度,且不受同域限制...这个方法还是异步发出请求,但是请求与当前页面脱离关联,作为浏览器的任务,因此可以保证会把数据发出去,不拖延卸载流程。...常见埋点行为 点击触发埋点 绑定点击事件,当点击目标元素时,触发埋点上报。

    1.4K10

    对你的 SPA 提提速

    」和「页面加载完成阶段」 ❝页面导航阶段:在浏览器页面加载过程中发生的阶段 1....例如,即使没有发生新页面的加载,也可以在SPA的页面中通过AJAX来进行数据获取。又或者网络请求由于传输路径中某些原因,产生了数据丢失,但是在页面中是不会受网络波动的影响。...路由的willTransition的事件会在页内导航发生时被触发。 通过侦听didTransition事件并在afterRender队列中添加回调,我们就可以知道在两种模式下页面何时完全加载。...但是,由于同源策略,不能对非同源的第三方服务进行AJAX调用。 ❝一个“源”由应用协议、域名和端口这三个要件共同定义。...动态发送 网页动态插入元素,由它向跨域网址发出请求。

    97710

    适用于既有大型MPA项目的“微前端”方案

    当用户访问页面时,由 nigix等负责根据路由分发到不同的业务应用,由各个业务应用完成资源的组装后返回给浏览器。...这次分享的目标是以有赞微商城后台的改造为例,提供一些可参考的经验,如何在一个已经完成独立发布、部署的MPA体系下,实现微前端中的子页面分发和组合的部分,实现接近单页的效果。...所以 PageLoader在处理新的路由请求时,需要通过 loadPageOfUrl拼接特殊参数后将请求发出,node 端收到页面请求包含该参数时即返回子页面模板实例化后的 html-entry。...随着业务 chunks 脚本执行,此时就会触发业务页面入口处调用的 ZanSpa.registerPage(pageInfo),子页面的自动注册完成。...所以我们子页面的配置收集是动态完成的,不需要集中式统一维护子页面配置,只需由子页面各自进行维护, html-entry加载完成同时也加载了子页面配置信息。

    2.1K20

    Comet技术详解:基于HTTP长连接的Web端实时通信技术前言学习交流概述“服务器推”(Comet技术)的应用范围来看看更传统的基于客户端套接口的“服务器推”技术基于 HTTP 长连接的“服务器

    最近几年,因为 AJAX 技术的普及,以及把 IFrame 嵌在“htmlfile“的 ActiveX 组件中可以解决 IE 的加载显示问题,一些受欢迎的应用如 meebo,gmail+gtalk 在实现中使用了这些新技术...2)Comet技术实现模型1:基于 AJAX 的长轮询(long-polling)方式 如 图 1 所示,AJAX 的出现使得 JavaScript 可以调用 XMLHttpRequest 对象发出...因为这种方案基于 AJAX,具有以下一些优点:请求异步发出;无须安装插件;IE、Mozilla FireFox 都支持 AJAX。...使用 iframe 请求一个长连接有一个很明显的不足之处:IE、Morzilla Firefox 下端的进度栏都会显示加载没有完成,而且 IE 上方的图标会不停的转动,表示加载正在进行。...如果是基于 AJAX 的长轮询方式,客户端可以异步地发出一个 XMLHttpRequest 请求,通知服务器端关闭数据连接。

    6.8K11
    领券