同时调用ajax函数onload和onclick
Calling ajax function onload and onclick simultaneously
我在外部javascript文件中有一个Ajax函数,它是:
ajax.js
function webservice(x){
jQuery.ajax
({
//some code here
});
Data = function(data){
if(x==1)
{
for(i=0;i<10;i++)
{
webservice(i);
alert"Onload");
}
}
else
if(x==5)
{
for(i=0;i<10;i++)
{
webservice(i);
alert ("Onclick");
}
}
}
我有另一个html页面它是:
webservice.html
<html>
<title>Call web service</title>
<head>
<script type="text/Javascript" src="jquery-1.9.1.js"></script>
<script type = "text/javascript" src="ajax.js"></script>
<script>
window.onload=function()
{
webservice(1)('onload'); //call 1
}
</script>
</head>
<body>
<input id="webservice" type = "button" name = "webservice" value = "Call Webservice"
onclick="webservice(5)"/>
</body>
</html>
所以我想在onLoad和onclick的按钮中调用相同的函数,这样两个调用将同时运行。但是当onload运行例如说3次,我点击按钮,然后onload停止和onclick运行。我想onclick也运行和加载从第四次迭代开始,两者都应该同时显示警报或1乘1。所以请帮帮我。提前谢谢。
因为$.ajax
是异步函数。在当前版本中,可能会在AJAX调用结束之前调用代码。因此,你有一个奇怪的行为。
function webservice(x) {
var inputParam = x;
jQuery.ajax({
url: 'test.php',
data: {},
success: function (data) {
if (inputParam == 1) {
for (i = 0; i < 10; i++) {
webservice(i);
alert("Onload");
}
} else if (inputParam == 5) {
for (i = 0; i < 10; i++) {
webservice(i);
alert("Onclick");
}
}
},
error: function (jqXHR, textStatus, errorThrown) {
alert('an error occurred!');
}
});
}
此外,避免内联JS。
代替window.onload=function()
{
webservice(1)('onload'); //call 1
}
$(document).ready(function(){
webservice(1);//call 1
});
和
<input id="webservice" type = "button" name = "webservice" value = "Call Webservice"
onclick="webservice(5)"/>
$('#webservice').click(function(){
webservice(5);
});
相关文章:
- 将函数从onclick修改为onload
- Combine onload, onresize and onclick
- 未捕获的类型错误:无法设置属性'onclick'为null.已尝试window.onload
- js函数在cakepp中使用onClick来处理onLoad
- javascript onclick, onload, onmouseenter -- the basics
- 文本字段 - onLoad '用户名/密码',onClick/Focus 更改颜色,onKeyDown
- jquery 函数 onclick 和 onload myFunction 不是一个函数
- onClick 和 onLoad 更改为 addEventListener
- Javascript onclick/onload 跨域跟踪器
- 如何使用在window.onload中声明的onclick中的函数
- 类似onclick和onload的JavaScript事件
- 将onclick函数转换为onload
- 触发具有$this的Jquery函数.onload和onclick
- 在onload中触发Onclick事件
- 将功能从onclick更改为onload
- 同时调用ajax函数onload和onclick
- 我如何运行一个函数onload,然后从onclick事件再次调用它
- setTimeout()启动onload而不是onclick.如何在单击后才能启动它
- Javascript调用函数-onclick有效,而onload则不起作用;t
- 在博客上随机加载帖子(将onclick更改为onload)