2013-07-27 58 views
3

我需要從我的服務器端代碼獲取輸出,但我可以獲取它。 我在主頁面中使用了腳本管理器和腳本管理器代理控制。 我怎樣才能像正在從CS文件 這裏返回的字符串是我的Default.aspx代碼AJAX:我無法從服務器端獲取數據

<asp:UpdateProgress runat="server"> 
<ProgressTemplate > 
Loading.......... 
</ProgressTemplate> 
</asp:UpdateProgress> 
    <asp:UpdatePanel runat="server"> 
    <ContentTemplate> 
    <asp:Label ID="lbl" Text="Enter Your Name" runat="server"></asp:Label> 
<input type="text" id="txt" /><br /> 
    <input type="button" id="btn" value="Submit" onclick="makeGetRequest()" /> 
    <div id="description">Hello</div> 
</ContentTemplate> 
</asp:UpdatePanel> 

    <script language="Javascript" type="text/javascript" > 
    function createRequestObject() { 
    var tmpXmlHttpObject; 

    if (window.XMLHttpRequest) { 
     // Mozilla, Safari would use this method ... 
     tmpXmlHttpObject = new XMLHttpRequest(); 

    } else if (window.ActiveXObject) { 
     // IE would use this method ... 
     tmpXmlHttpObject = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 

    return tmpXmlHttpObject; 
    } 


    var http = createRequestObject(); 

    function makeGetRequest() { 


    http.open('post', 'Default.aspx/greet',true); 

    //assign a handler for the response 
    http.onreadystatechange = processResponse; 

    //actually send the request to the server 
    http.send(null); 
    } 


    function processResponse() { 


    if (http.readyState == 4) { 


     var response = http.responseText.toString(); 

     alert("Inside here before"); 

     document.getElementById('description').innerHTML = response; 
     alert("Inside here after"); 


    } 
    } 


</script> 




// my default.aspx.cs file 


[WebMethod(EnableSession=false)] 
public static string greet() 
{ 
    return "hello"; 
} 

我得到複製而不是讓響應頁面的所有內容,從中

回答

1

的行var http = createRequestObject();必須是function makeGetRequest()函數中的第一行。無論如何,我發佈了一個工作代碼。

<script language="Javascript" type="text/javascript" > 
function makeGetRequest() { 
    var http; 
    if (window.XMLHttpRequest) { 
     http = new XMLHttpRequest(); 
    } else if (window.ActiveXObject) { 
     http = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 

    xmlhttp.onreadystatechange = function() { 
     if (xmlhttp.readyState == 4) { 
      var response = http.responseText.toString(); 
      alert("Inside here before"); 
      document.getElementById('description').innerHTML = response; 
      alert("Inside here after"); 
     } 
    } 

    http.open('post', 'Default.aspx/greet', true); 
    http.send(null); 
} 
</script> 
+0

你的代碼仍然產生相同的輸出.. –

相關問題