我有一个AjaxCall.aspx页面,它将通过.ajax()使用jquery调用另一个页面。 在AjaxCall.aspx我不得不删除所有HTML标记只留下Ajax调用页面加载两次Asp.net
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="AjaxCall.aspx.cs" Inherits="_AjaxCall" %>
,并在其背后的代码是在页面加载事件的简单。
protected void Page_Load(object sender, EventArgs e)
{
Response.write("{ \"Testing\": \"Hello World!\" }");
}
我监视网络的Chrome开发者工具Ajax请求,我注意到,每次我做一个Ajax请求AjaxCall.aspx页面时,它连续两次请求。后来我进入调试模式来检查并发现页面加载事件触发两次。 我做了一些挖掘,发现一个空的img src与此有关,但问题是我在AjaxCall.aspx页面中没有任何html标记!
我后来试图添加回HTML身体和表单标记,并尝试再次调用该页面,好消息是它加载一次,但只要我将这些HTML标记添加回AjaxCall.aspx,它加载再次两次。
我不能在我的AjaxCall.aspx上有这些html标签,因为它会在请求时返回一个json格式数据,让这些html标签在任何调用它的页面上都会导致错误。同时,我不希望它在我所做的每次通话中继续加载两次。那么无论如何要克服这个问题呢?