2015-04-02 35 views
0

我真的需要從我的web服務獲取數據的幫助,但我得到的是「內部服務器錯誤」。期望的結果是能夠有一個web服務返回數據到我的JavaScript函數。從web服務獲取數據c#javascript ajax

昨天我成功地調用了web服務,但無法從中獲取數據。

下面是我的javascript代碼,我明白在客戶端上執行


function Test(myid) { 
     var projects; 
     var opt = document.getElementById(myid); 
     var constring = '<%=this.ConnectionText %>'; 
     document.getElementById("Text1").value = opt.value; 

     $.ajax({ 
      type: 'GET', 
      url: 'Overview.aspx/ExecuteSelectListBox',    
      contentType: "application/json;charset=utf-8", 
      dataType:"json", 
      success: function (data) { 
       projects = data.d; 
      }, 
      error: function (requeset, status, error) { 
       alert(error); 
      } 
     }); 
} 

如果成功的則項目應成爲「世界你好」

下面是我的C#代碼我明白在服務器上執行。 但是,我不認爲我的服務器上的功能被調用。如果我用別的東西替換Overview.aspx,我會從服務器「找不到」而不是「內部服務器錯誤」。 但「executiontelistbox」本身我可以打電話什麼,我仍然得到「內部服務器錯誤」,而不是「找不到」。


[System.Web.Script.Services.ScriptService] 
    public class AjaxWebService : System.Web.Services.WebService 
    { 
     [System.Web.Services.WebMethod(EnableSession = true)] 
     /************************************************** 
     *** Returns a datatable with projectnames. *** 
     *************************************************/ 
     public static string ExecuteSelectListBox() 
     { 
      return "hello world"; 
     } 
    } 

因此所需的問題是要能夠從C#編寫的一個Web服務中檢索數據。在本例中,c#和javascript實際上都是同一網頁的一部分。我保持簡約。我希望其他人也可以使用它,作爲一個基本的例子,你如何能夠從你的網絡服務器獲取數據。在未來,我會從服務器進行數據庫調用併發送回客戶端,但現在我甚至不能想到這一點,因爲我甚至無法得到「hello world」的工作:)

我會很感激如果任何人可以幫助!我試過之前發佈過這個帖子,但被關閉了「擱置」。

回答

0

我會看看下面的教程,並使用WebApi而不是System.Web.WebService。你讓自己變得相當困難。

http://www.asp.net/web-api/overview/getting-started-with-aspnet-web-api/tutorial-your-first-web-api

目前你的要求JSON,但林不知道你是否真的返回JSON,但也許XML?

+0

嗯你的例子工作...但不是當我嘗試做同樣的我的網頁....也許不同的是,我的網頁是一個網頁,你的例子是一個應用程序。我試圖做一個精確的副本global.asax,但它說,當我「玩」我的網頁時,global.asax不包含有效數據。它和你的應用程序中的例子完全一樣...... – 2015-04-02 10:22:08

+0

我想讓它在我的項目中工作,所以我拿了你的例子,並將我的5個網頁和一些C#類的全部代碼添加到它:)現在,它的工作原理。背後是我真的不知道爲什麼它沒有工作,和我的項目和你的例子有什麼不同。 – 2015-04-02 15:12:06

+0

webapi中的示例可以用於應用程序和Web項目。例如在一個MVC項目中,你可以使用它。我很高興你有它的工作。 WebApi類更現代化,你需要做更少的工作來完成任務。 – Robin 2015-04-03 09:19:27