我真的需要從我的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」的工作:)
我會很感激如果任何人可以幫助!我試過之前發佈過這個帖子,但被關閉了「擱置」。
嗯你的例子工作...但不是當我嘗試做同樣的我的網頁....也許不同的是,我的網頁是一個網頁,你的例子是一個應用程序。我試圖做一個精確的副本global.asax,但它說,當我「玩」我的網頁時,global.asax不包含有效數據。它和你的應用程序中的例子完全一樣...... – 2015-04-02 10:22:08
我想讓它在我的項目中工作,所以我拿了你的例子,並將我的5個網頁和一些C#類的全部代碼添加到它:)現在,它的工作原理。背後是我真的不知道爲什麼它沒有工作,和我的項目和你的例子有什麼不同。 – 2015-04-02 15:12:06
webapi中的示例可以用於應用程序和Web項目。例如在一個MVC項目中,你可以使用它。我很高興你有它的工作。 WebApi類更現代化,你需要做更少的工作來完成任務。 – Robin 2015-04-03 09:19:27