我有一個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標籤在任何調用它的頁面上都會導致錯誤。同時,我不希望它在我所做的每次通話中繼續加載兩次。那麼無論如何要克服這個問題呢?