AjaxRequest.get( ) 不接受来自 Response.Write() 函数的 text/Html

本文关键字:函数 text Write Html get 不接受 AjaxRequest Response | 更新日期: 2023-09-27 18:34:43

我正在使用AjaxRequest AjaxRequest.Get()方法。
以下是 analysis.aspx 中的内联 JavaScript

 function getAnalysis(type) {            
        var innerHtml;      
        AjaxRequest.get(
            {
                'url': 'getAnalysis.aspx?type=' + type
                , 'onSuccess': function (req) { innerHtml = req.responseText; }
            }
        );
        document.getElementById("div_analysis").innerHTML = innerHtml;
    }

getAnalysis(type) 被调用时analysis.aspx一切正常 - Ajax 请求正确提交,响应正确发送。但在innerHTML的最终值仍然没有定义。

以下是getAnalysis.aspx的代码 -

 protected void Page_Load(object sender, EventArgs e)
 {
    if(type == "somwthing") str = load();    
    Response.Clear();     
    Response.CacheControl = "no-cache";              
    Response.Write(str);      
    Response.End();     
 }

当我使用谷歌浏览器调试javascript时,我发现innerHMTL的值是未定义的,尽管一切顺利。
所以我不明白为什么 AjaxRequest 类不接受来自Reponse.Write()的文本输出。

PS:我也尝试过Response.ContentType = "text/Html";Reponse.Fluch()
请提前指导我。

AjaxRequest.get( ) 不接受来自 Response.Write() 函数的 text/Html

您需要

在 onsuccess 函数中设置div 内容,因为它是在 AJAX 请求完成时异步调用的

function getAnalysis(type) {             
        var innerHtml;       
        AjaxRequest.get( 
            { 
                'url': 'getAnalysis.aspx?type=' + type 
                , 'onSuccess': function (req) { document.getElementById("div_analysis").innerHTML = req.responseText; } 
            } 
        ); 
    }