2011-08-15 107 views
0

這裏是我的代碼Json的Ajax調用返回響應200 OK

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
    <script type="text/javascript" src="<%= ResolveUrl("Scripts/jquery-1.3.2.min.js") %>"></script> 
</head> 

<body> 
    <form id="form1" runat="server"> 
    <div> 
    <input type="button" id="btn" value= "call web service" onclick="callwebservice()" /> 
    </div> 
    </form> 
</body> 
</html> 
<script type="text/javascript" language="javascript"> 
function AjaxFailed(result) { 
      alert('call stastus:' + result.status + ' ' + result.statusText); 
      alert('responsetest"'+result.responseText); 
      alert('errorthrown' + result.errorThrown); 

     } 
     function callwebservice() { 
      $.ajax(
        { 
         type: "POST", 
         url: "default.aspx/LoginFromFacebook", 
         data: "", 
         contentType: "application/json; charset=utf-8", 
         dataType: "json", 
         success: function(response) { 
          alert(response); 
         }, 
         error: AjaxFailed 
        } 
        ); 
     } 
</script> 

code behind ----------------- 

[WebMethod()] 
    public static string LoginFromFacebook() 
    { 
     return "helloworld"; 
    } 

這是非常簡單的代碼我在Default.aspx文件只有一個Web方法,當我打電話,我得到的WebMethod響應代碼200確定。 我調查使用提琴手 響應如下 HTTP/1.1 200行 緩存控制:私人 內容類型:文本/ HTML; x-AspNet-Version:2.0.50727 X-Powered-by:ASP.NET Date:Mon,15 Aug 2011 09:16:21 GMT Content-長度:1535

不知道爲什麼會發生這種情況。我期待只有字符串作爲響應,我得到整個頁面的HTML作爲響應。

+0

你吃過一看服務器發回的響應。它是你好世界嗎?你可以使用螢火蟲來檢查它。 – Steve

+0

如果你返回{「text」:「helloworld」}?你有沒有嘗試過? –

+0

不,我沒有得到你的世界的迴應。取而代之的是我得到的default.aspx的HTML – sachin

回答

0

在Visual Studio中,網站和Web應用程序存在問題。你可以把設計代碼放在你的aspx文件中,或者只是使用web服務而不是default.aspx。
以下包含使用jQuery JavaScript或asp.net阿賈克斯成功Ajax請求的基本步驟的鏈接,

sample site for basic ajax function

+0

是的,它是完美的web服務調用。但我必須訪問web方法中的httpcontext /會話對象,這是不可能的,如果我將與web服務,這就是爲什麼我使用pagemethod任何其他的選擇? – sachin

+0

您可以在網絡服務中使用會話。請參閱[MSDN示例](http://msdn.microsoft.com/zh-cn/library/system.web.services.webservice.session.aspx)瞭解如何操作 –

+0

感謝Chamika以上的解決方案。除了上述解決方案之外,您還可以在[此鏈接]中找到其他解決方案(http://www.chadscharf.com/index.php/2009/11/creating-a-page-method-scriptmethod-within-an-ascx-user使用-Ajax的JSON基類 - 控制 - 和 - 反射/) – sachin

相關問題