- 浏览: 1074624 次
- 性别:
- 来自: 上海
-
文章分类
- 全部博客 (1441)
- 软件思想&演讲 (9)
- 行业常识 (250)
- 时时疑问 (5)
- java/guava/python/php/ruby/R/scala/groovy (213)
- struct/spring/springmvc (37)
- mybatis/hibernate/JPA (10)
- mysql/oracle/sqlserver/db2/mongdb/redis/neo4j/GreenPlum/Teradata/hsqldb/Derby/sakila (268)
- js/jquery/jqueryUi/jqueryEaseyUI/extjs/angulrJs/react/es6/grunt/zepto/raphael (81)
- ZMQ/RabbitMQ/ActiveMQ/JMS/kafka (17)
- lucene/solr/nuth/elasticsearch/MG4J (167)
- html/css/ionic/nodejs/bootstrap (19)
- Linux/shell/centos (56)
- cvs/svn/git/sourceTree/gradle/ant/maven/mantis/docker/Kubernetes (26)
- sonatype nexus (1)
- tomcat/jetty/netty/jboss (9)
- 工具 (17)
- ETL/SPASS/MATLAB/RapidMiner/weka/kettle/DataX/Kylin (11)
- hadoop/spark/Hbase/Hive/pig/Zookeeper/HAWQ/cloudera/Impala/Oozie (190)
- ios/swift/android (9)
- 机器学习&算法&大数据 (18)
- Mesos是Apache下的开源分布式资源管理框架 (1)
- echarts/d3/highCharts/tableau (1)
- 行业技能图谱 (1)
- 大数据可视化 (2)
- tornado/ansible/twisted (2)
- Nagios/Cacti/Zabbix (0)
- eclipse/intellijIDEA/webstorm (5)
- cvs/svn/git/sourceTree/gradle/jira/bitbucket (4)
- jsp/jsf/flex/ZKoss (0)
- 测试技术 (2)
- splunk/flunm (2)
- 高并发/大数据量 (1)
- freemarker/vector/thymeleaf (1)
- docker/Kubernetes (2)
- dubbo/ESB/dubboX/wso2 (2)
最新评论
ajax 和post 可以设置它是否同步执行
ajax的async设置成false,为什么没效果
$.ajax( { async : false, type : "POST", dataType : "html", url : getURL() + "sysset/sysmonit/operation!check.action?id="+level.val(), success : function(json) { if(json==3){ alert(" 等于3就是不让过") return false; }}});alert("谁先");_
_________________________________________________________________返回的值是3,json=3,进入if, alert(" 等于3就是不让过")这个也执行了,紧接的就是return false;按常理说,他不应该弹alert("谁先");,但是他弹出了“谁先”。。。求解!!!
你在回调函数里return是没有效果的
Jquery的同步和异步请求
1 异步请求:
1.1 $.ajax
$.ajax({
url : 'your url',
data:{name:value},
cache : false,
async : true,
type : "POST",
dataType : 'json/xml/html',
success : function (result){
do something....
}
});
2 同步请求
2.1 $.ajax
$.ajax({
url : 'your url',
data:{name:value},
cache : false,
async : false,
type : "POST",
dataType : 'json/xml/html',
success : function (result){
do something....
}
});
2.2 $.post
$.post(
'your url',
{name:value},
function(data) {
do something...
},
'json/xml/html'
);
最近在测试,发现有些效果不对,最后发现是post的执行顺序问题,所以研究了下,写了以下总结
1.post被请求多次,解决方法:
连接加入随机数 rand=""+Math.random()
复制代码
$.post("/Control/webControl.ashx?rand ="+Math.random(), { Method: "LoginIn", Parems: ps }, function (data, textStatus) {
$("#divOver").css("visibility", "hidden");
switch (data) {
case "1":
window.location = '/default.aspx';
break;
case "0":
$("#tips").text("找不到该用户");
u.focus();
changevcode();
errcount++;
break;
case "-1":
$("#tips").text("用户或密码错误");
changevcode();
c.val("").focus();
errcount++;
break;
default:
alert(data);
}
});
复制代码
2.因为post默认为异步请求,可是有时候我们会发现,本来要求请求马上出现,可是异步会导致后面突然再执行,这样就出问题了
所以,我们需要加入
$.ajaxSetup({
async : false
});
3.如果需要有些同步有些异步,那么我们应该使用最原始的ajax请求,然后把async设置为false
复制代码
$.ajax({
type : "post",
url : "register/RegisterState",
data : "test=" + test,
async : false,
success : function(data){
data = eval("(" + data + ")");
aDataSet = data;
}
});
复制代码
$.ajax( { async : false, type : "POST", dataType : "html", url : getURL() + "sysset/sysmonit/operation!check.action?id="+level.val(), success : function(json) { if(json==3){ alert(" 等于3就是不让过") return false; }}});alert("谁先");_
_________________________________________________________________返回的值是3,json=3,进入if, alert(" 等于3就是不让过")这个也执行了,紧接的就是return false;按常理说,他不应该弹alert("谁先");,但是他弹出了“谁先”。。。求解!!!
你在回调函数里return是没有效果的
Jquery的同步和异步请求
1 异步请求:
1.1 $.ajax
$.ajax({
url : 'your url',
data:{name:value},
cache : false,
async : true,
type : "POST",
dataType : 'json/xml/html',
success : function (result){
do something....
}
});
2 同步请求
2.1 $.ajax
$.ajax({
url : 'your url',
data:{name:value},
cache : false,
async : false,
type : "POST",
dataType : 'json/xml/html',
success : function (result){
do something....
}
});
2.2 $.post
$.post(
'your url',
{name:value},
function(data) {
do something...
},
'json/xml/html'
);
最近在测试,发现有些效果不对,最后发现是post的执行顺序问题,所以研究了下,写了以下总结
1.post被请求多次,解决方法:
连接加入随机数 rand=""+Math.random()
复制代码
$.post("/Control/webControl.ashx?rand ="+Math.random(), { Method: "LoginIn", Parems: ps }, function (data, textStatus) {
$("#divOver").css("visibility", "hidden");
switch (data) {
case "1":
window.location = '/default.aspx';
break;
case "0":
$("#tips").text("找不到该用户");
u.focus();
changevcode();
errcount++;
break;
case "-1":
$("#tips").text("用户或密码错误");
changevcode();
c.val("").focus();
errcount++;
break;
default:
alert(data);
}
});
复制代码
2.因为post默认为异步请求,可是有时候我们会发现,本来要求请求马上出现,可是异步会导致后面突然再执行,这样就出问题了
所以,我们需要加入
$.ajaxSetup({
async : false
});
3.如果需要有些同步有些异步,那么我们应该使用最原始的ajax请求,然后把async设置为false
复制代码
$.ajax({
type : "post",
url : "register/RegisterState",
data : "test=" + test,
async : false,
success : function(data){
data = eval("(" + data + ")");
aDataSet = data;
}
});
复制代码
发表评论
-
JS解析json数据(如何将json字符串转化为数组)
2018-01-11 09:56 862<!DOCTYPE HTML PUBLIC &quo ... -
bootstrap-datetimepicker 日期控件的开始日期
2017-09-22 00:59 1157今天做日期控件,需求要求设置一个时间范围限制,选择从今天开始 ... -
AngularJS ng-show 指令
2017-09-26 09:50 450http://www.runoob.com/angul ... -
js 判断数组中是否包含
2017-09-15 19:35 541可以使用数组的indexOf()方法,如果返回值为-1则说 ... -
jquery中html()、text()、val()的区别
2017-09-13 16:02 789.html()用为读取和修改元素的HTML标签 对应j ... -
grunt nodejs npm的关系是什么样的?
2017-09-11 15:03 565昨天自己鼓捣grunt,开始的时候不大明白,现在好像有种模糊 ... -
grunt安装及使用
2017-09-11 14:54 1245Grunt是什么? Grunt是一个基于JavaScri ... -
NPM是随同NodeJS一起安装的包管理工具
2017-09-11 14:22 600NPM 使用介绍 NPM是随同NodeJS一起安装的包管理 ... -
浅谈 Flash/Flex/HTML5 技术选型
2017-09-11 11:09 538在HTML5发布以前,RIA领 ... -
JSON数据的删除某个元素
2017-09-07 16:39 1111有一组JSON数据: var tempJSON = [{id ... -
JS异步加载的三种方式
2017-09-01 12:19 814一:同步加载 我们平时使用的最多的一种方式。 & ... -
Javascript异步编程的4种方法
2017-09-01 12:19 493你可能知道,Javascript ... -
AngularJS 实现按需异步加载实例代码
2017-09-01 12:19 776AngularJS 通过路由支持多视图应用, 可以根据路由 ... -
angularJS页面加载完成后调用,循环结束后调用
2017-08-31 19:19 1617angularJS页面加载完成后调用,代码如下 ... -
JS 跨域原因及其解决方案
2017-08-18 10:57 651产生跨域问题的原因 跨域问题是浏览器同源策略限制,当前域名 ... -
gRaphael——JavaScript 矢量图表库
2017-06-12 17:34 885gRaphael 是一个致力于帮 ... -
Raphael.js简易教程
2017-06-12 17:35 1002Raphael.js 的教程非常简单,仅首页一段代码,然后 ... -
Zepto.js
2017-05-26 15:58 794Zepto是一个轻量级的针对现代高级浏览器的JavaScr ... -
阿里g2图表
2017-04-11 12:22 13481.百度的Echart ECharts,缩写来自Ente ... -
为什么js文件的名字像MD5运算过的一样?
2017-04-07 00:24 478这个过程叫做 revision。如果你有一个名字是 main ...
相关推荐
使用Ajax的Post同步执行实现方法可以帮助我们在服务器端执行某些操作,并将结果返回给客户端。这种方法可以减少服务器端的负载和压力,并提高客户端的响应速度。 知识点: 1. Ajax的异步模式和同步模式。 2. 如何...
在EXTJS库中,`Ext.Ajax.request`是用于发送Ajax请求的核心方法,它支持异步和同步操作。本文将详细解析如何利用`Ext.Ajax.request`实现同步请求,并探讨其背后的原理和注意事项。 首先,我们需要理解Ajax的本质,...
`Ext.Ajax.request()`方法是进行Ajax请求的核心函数,它接受一系列参数,包括URL、方法(GET或POST)、请求数据、回调函数等。同步与异步的控制则通过`async`参数来决定。默认情况下,`async`设置为`true`,意味着...
3. **设置请求头**(可选):如果需要发送POST请求或者设置自定义头,可以使用`setRequestHeader()`方法。例如:`xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');` 4. **发送请求**:...
在使用`Ext.Ajax.request`方法时,设置`async`参数为`false`可以使请求变为同步。例如: ```javascript Ext.Ajax.request({ url: 'your-url', method: 'GET', async: false, // 设置为false表示同步请求 ...
在Web开发领域,jQuery是一个非常流行的JavaScript库,它极大地简化了JavaScript操作,特别是处理DOM操作、事件处理以及,如本例所示,AJAX(异步JavaScript和XML)请求。AJAX允许网页在不重新加载整个页面的情况下...
2. **初始化请求**:通过XMLHttpRequest对象的open()方法设置请求类型(GET或POST)、URL以及是否异步执行。 3. **发送请求**:调用send()方法向服务器发送数据,对于GET请求,数据通常附在URL后面;对于POST请求,...
2. **配置请求**:设置HTTP方法(如GET或POST)、URL、同步标志(设置为true表示同步)以及可能的其他请求头。 3. **发送请求**:通过XMLHttpRequest对象的`open()`和`send()`方法启动请求。 4. **处理响应**:在`...
- **打开连接**:调用 `open()` 方法,设置请求类型(GET、POST等)、URL 和是否异步执行。 - **发送请求**:使用 `send()` 方法发送请求。GET 请求通常不需参数,POST 请求则需传递数据。 - **监听状态变化**:通过...
创建XMLHttpRequest对象,然后设置其open()方法来指定请求类型(GET或POST)、URL以及是否异步执行。接着,使用send()方法发送请求,接收数据则通过onreadystatechange事件和readyState、status属性。 2. **GET与...
如果可以,那就需要一种在 JavaScript 和 Native 之间通信的桥梁(JavaScript Bridge),通过它,JavaScript 将请求信息传递给 Native,Native 完成真正的请求后再将结果数据传递给 JavaScript。 思路虽然简单,但...
2. **初始化请求**:然后,我们调用XMLHttpRequest对象的open()方法,设置请求的类型(GET或POST)、URL以及是否异步执行。 3. **发送请求**:使用send()方法发送HTTP请求。如果是GET请求,通常直接发送null;如果是...
AJAX的关键特性是异步性,这意味着请求发送后,浏览器不会等待响应,而是继续执行后续代码。这样,用户可以继续浏览页面,而不会感到卡顿。 ### 7. 错误处理 在使用AJAX时,必须考虑到可能出现的错误,例如网络...
可以通过`async: false`设置为同步请求,但不推荐,因为它会阻塞浏览器直到请求完成。 6. **回调函数**:jQuery的Ajax方法允许定义success、error和complete回调,以便在请求完成后执行特定的代码。 7. **全局事件...
4. **调整浏览器设置**:虽然不建议,但如果你必须使用同步请求,可能需要检查用户的Firefox设置,看是否允许同步XMLHttpRequests。不过这并不是一个长期解决方案,因为大多数浏览器会逐渐限制这种行为。 在`ext-...
总的来说,通过结合Selenium的`WebDriverWait`和`ExpectedConditions`,我们可以有效地处理Ajax的异步特性,确保在进行下一步操作时,Ajax请求已经完成。在“selenium-08-ajax的使用法术post请求.ev4.mp4”视频中,...
2. **JavaScript调用**:通过JavaScript代码触发XMLHttpRequest对象,创建请求,设置请求方法(GET或POST)、URL和任何必要的数据。 3. **HTTP请求**:XHR对象向服务器发送HTTP请求,这个过程对用户来说是透明的,...
在Unigui中,可以通过设置`Async`属性控制请求是否异步执行。异步请求不会阻塞用户界面,提高了交互性。 7. **错误处理**: 处理可能出现的网络错误或服务器错误是必要的。Unigui的Ajax组件提供了`OnError`事件,...
如果需要同步请求,可以在`.ajax()`中设置`async: false`,但这会导致浏览器冻结,应谨慎使用。 通过上述描述,"jq_ajax的练习"项目很可能是为了帮助学习者理解并实践如何使用jQuery的$.ajax()函数和其他相关方法来...