Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Ajax调用开始加载,就像一个怪物_C#_Javascript_Asp.net_Ajax - Fatal编程技术网

C# Ajax调用开始加载,就像一个怪物

C# Ajax调用开始加载,就像一个怪物,c#,javascript,asp.net,ajax,C#,Javascript,Asp.net,Ajax,我有一个测试Ajax的网站。。。它的工作原理是: <%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="AJAX.aspx.cs" Inherits="HB___test.AJAX" %> <asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="s

我有一个测试Ajax的网站。。。它的工作原理是:

<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true"
    CodeBehind="AJAX.aspx.cs" Inherits="HB___test.AJAX" %>

<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server">
    <script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
    <script type="text/javascript">
        function Ajax() {
            var xmlHttp;
            try {
                xmlHttp = new XMLHttpRequest(); // Firefox, Opera 8.0+, Safari
            } catch (e) {
                try {
                    xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); // Internet Explorer
                } catch (e) {
                    try {
                        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
                    } catch (e) {
                        alert("No AJAX!?");
                        return false;
                    }
                }
            }
            xmlHttp.onreadystatechange = function () {
                document.getElementById('chat').innerHTML = xmlHttp.responseText;
                setTimeout('Ajax()', 10000);
            }
            xmlHttp.open("GET", "ajax-Content.aspx", true);
            xmlHttp.send(null);
        }
        window.onload = function () {
            setTimeout('Ajax()', 10000);
        }
    </script>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
    Kummefryser...!
    <div id="chat" class="fisk" style="width: 500px; height: 500px">
    </div>
</asp:Content>

函数Ajax(){
var-xmlHttp;
试一试{
xmlHttp=newXMLHttpRequest();//Firefox、Opera 8.0+、Safari
}捕获(e){
试一试{
xmlHttp=newActiveXObject(“Msxml2.xmlHttp”);//Internet Explorer
}捕获(e){
试一试{
xmlHttp=新的ActiveXObject(“Microsoft.xmlHttp”);
}捕获(e){
警报(“没有AJAX!?”;
返回false;
}
}
}
xmlHttp.onreadystatechange=函数(){
document.getElementById('chat').innerHTML=xmlHttp.responseText;
setTimeout('Ajax()',10000);
}
open(“GET”,“ajax Content.aspx”,true);
xmlHttp.send(空);
}
window.onload=函数(){
setTimeout('Ajax()',10000);
}
Kummefryser。。。!
这里是网站,它是老顶:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ajax-Content.aspx.cs" Inherits="HB___test.ajax_Content" %>

<body>
    <form id="form1" runat="server">
    <div>
        <asp:ListBox ID="lbChat" runat="server" Rows="10" Width="400px"></asp:ListBox>
    </div>
    </form>
</body>

以及上述站点的代码隐藏:

public partial class ajax_Content : System.Web.UI.Page
    {
        grjenie31Entities gr;

        protected void Page_Load(object sender, EventArgs e)
        {
            gr = new grjenie31Entities();

            var query = from es in gr.chats
                        where es.id > ((from esh in gr.chats select esh.id).Max() - 15)
                        orderby es.timestamps descending
                        select es;

            List<chat> list = new List<chat>();
            foreach (chat chat in query)
            {
                list.Add(chat);
            }

            for (int i = 0; i < list.Count; i++)
            {
                lbChat.Items.Add("[" + list[i].timestamps + "] " + list[i].personID.ToString() + ": " + list[i].besked);
            }
            this.lbChat.SelectedIndex = this.lbChat.Items.Count - 1;
        }
    }
public分部类ajax\u内容:System.Web.UI.Page
{
Grjeniegr;
受保护的无效页面加载(对象发送方、事件参数e)
{
gr=新的GRJENIE31实体();
var query=来自gr.chats中的es
其中es.id>((从gr.chats中的esh选择esh.id).Max()-15)
orderby es.timestamps递减
选择es;
列表=新列表();
foreach(查询中的聊天)
{
列表。添加(聊天);
}
for(int i=0;i
但是当我加载ajax-Content.aspx网站时,它开始以惊人的速度重新加载。。。因此,在30秒内,我无法读取它在ajax.Content.aspx站点中加载的文本。
任何想法???

xmlHttp.onreadystatechange不仅在成功时触发,而且应该只在readystate 4上启动新的超时


此外,您应该为超时定义一个变量,以便在运行新的超时之前能够清除现有超时。

xmlHttp.onreadystatechange不仅在成功时触发,而且应该只在readystate 4上启动新的超时

此外,您应该为超时定义一个变量,以便在运行新的超时之前能够清除现有超时