我只是試圖讓2010年VS解決實踐與jQuery使用REST服務。 我使用了模板WCF REST服務應用程序。它創建了一個類,我命名爲Services.cs 與我想調用一個方法:jQuery的呼叫休息自我託管端口號
[WebGet(UriTemplate = "")]
public List<SampleItem> GetCollection()
{
SampleItem item;
List<SampleItem> lst = new List<SampleItem>();
for (int i = 0; i < 12; i++)
{
item = new SampleItem { Prom = 1960 + i, Name = string.Format("Name {0}", i.ToString()) };
lst.Add(item);
}
return lst;
}
的Global.asax.cs中的樣子: 無效的Application_Start(對象發件人,EventArgs的){ 的RegisterRoutes(); }
private void RegisterRoutes()
{
// Edit the base address of Service1 by replacing the "Service1" string below
RouteTable.Routes.Add(new ServiceRoute("", new WebServiceHostFactory(), typeof(Service)));
}
然後我做了一個新的asp.net空白網站,加入jQuery的文件等在了Default.htm頁。我喜歡叫GetCollection,所以我增加了以下的jQuery代碼。
$(function() {
var serviceUrl = ??????
$.ajax({
url: serviceUrl,
type: 'POST',
data: '{}',
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function (colD) {
var col = colD.d;
}
});
});
我把什麼URL肩?特別是我很難找出我的hostlocal上的端口。 我試過http://localhost:5187/KendoRestService/GetCollection,其中KendoRestService是REST項目的名稱,以及service.cs上的命名空間。任何幫助將不勝感激。
不,它沒有工作。我把一個beacpoint放在getCollection上,但它永遠不會去那裏,也不會在ajax調用的成功部分。我的解決方案中有2個項目。 – 2012-03-13 20:44:37
您是否嘗試過將參數typeof(Service)指向GetCollection()所在的位置? – 2012-03-13 21:08:08
我應該在哪裏添加typeof(Service)?在我的阿賈克斯呼叫?謝謝 – 2012-03-13 21:35:00