Jquery 加载页面后立即在文本区域显示ajax响应
我有一个连续的ajax请求,要求提供一些数据 这将显示在文本区域中。 现在我的问题是,如何在页面加载后立即显示数据Jquery 加载页面后立即在文本区域显示ajax响应,jquery,ajax,django,Jquery,Ajax,Django,我有一个连续的ajax请求,要求提供一些数据 这将显示在文本区域中。 现在我的问题是,如何在页面加载后立即显示数据 My template code is as follows: <html> <head> <script type="text/javascript" src="/jquerycall/"></script> <script type="text/javascript"> $(document
My template code is as follows:
<html>
<head>
<script type="text/javascript" src="/jquerycall/"></script>
<script type="text/javascript">
$(document).ready(function()
{
var setid = 0;
var s = new String();
var my_array = new Array();
var no_of_lines = 0;
var array_copy = new Array();
var fname ="{{fname}}"
var pid = "{{pid}}"
function displayfile()
{
var text = $("#textid").val();
if(text == "")
{
no_of_lines = 0;
}
else
{
array_copy = text.split("\n");
no_of_lines = array_copy.length;
}
/*$("#tid").val(no_of_lines)*/
$.ajax({
type:"POST",
url:"/displayoutput/",
datatype:"json",
data:{text:no_of_lines,filename:fname,pid:pid},
success:function(data)
{
s = data.filedata;
if(s == "")
{
clearInterval(setid);
}
my_array = s.split("\n");
displaydata(my_array);
}
});
}
function displaydata(my_array)
{
var i = 0;
var length = my_array.length;
for(i=0;i<my_array.length;i++)
{
var line = my_array[i] + "\n";
line = line.replace(/</g,"<");
$("#textid").append(line);
$("#tid").val(line)
}
}
$("form").submit(function(event)
{
setid = setInterval(displayfile,1000);
event.preventDefault();
});
$("#stop").click(function()
{
clearInterval(setid);
});
});
</script>
</head>
<body>
<form method="post">
<input type="submit" value="Click Me"/><br><br>
<button type="button" id="stop">Stop</button><br><br>
<textarea id="textid" disabled="true" readonly="true" rows=30 cols=100></textarea><br><br>
</form>
</body>
</html>
Here, the data is loaded when I click the "Click Me"
But I want the data to be loaded as soon as page is loaded
Any suggestions will be valuable
Thanks in advance
我的模板代码如下:
$(文档).ready(函数()
{
var setid=0;
var s=新字符串();
var my_array=新数组();
各线的var no_=0;
var array_copy=新数组();
var fname=“{fname}}”
var pid=“{pid}}”
函数displayfile()
{
var text=$(“#textid”).val();
如果(文本==“”)
{
_线的_数=0;
}
其他的
{
数组_copy=text.split(“\n”);
无\u行=数组\u copy.length;
}
/*$(“tid”).val(行数)*/
$.ajax({
类型:“POST”,
url:“/displayoutput/”,
数据类型:“json”,
数据:{text:no_of_行,filename:fname,pid:pid},
成功:功能(数据)
{
s=data.filedata;
如果(s==“”)
{
清除间隔(setid);
}
my_数组=s.split(“\n”);
显示数据(my_数组);
}
});
}
函数显示数据(my_数组)
{
var i=0;
var length=my_array.length;
对于(i=0;i只需在.ready()
处理程序中调用displayfile();
如果不想浪费一秒钟,请按如下方式修改代码:
$("form").submit(function(event)
{
setid = setInterval(displayfile,1000);
event.preventDefault();
}).submit();
或者..只需将displayfile();
放在´中的任何位置。准备好处理程序来执行该ajax
尽快请求(在
DOM`准备就绪后)
如果您不需要准备好DOM
,您可以通过创建一个自执行匿名函数来进一步执行该函数
(function(){
// code to execute
})();
您可以使用displayfile()
函数中的代码来填充它,它将执行
尽快tazim
更改:
$("form").submit(function(event)
{
setid = setInterval(displayfile,1000);
event.preventDefault();
});
致:
jim请更详细地解释。我不想也使用此提交按钮。页面加载后会立即发送连续的ajax请求,响应应显示在文本区域。页面应仅包含文本区域。如果每隔一秒钟发送一次请求并加载数据,则间隔将在没有更多数据时清除左。我试着把提交按钮只是为了理解,但理想的情况下,该页面应该只包含文本区域与数据显示。提前感谢任何建议样本代码
$(document).ready(function() {
displayfile();
setid = setInterval(displayfile,1000);
});