ASP.net API 调用 returns 控制器 class,不是数据
ASP.net API get call returns controller class, not data
我在 ASP.net 中创建了一个 API。我的 Sencha SPA 正试图从中获取数据。不幸的是,get 调用返回的是控制器 class 而不是我想要的数据。有什么想法吗?
获取方法如下:
private firstAPIContext db = new firstAPIContext();
// GET: api/AccountModels
public IQueryable<Account> GetAccountModels()
{
return db.Accounts;
}
// GET: api/AccountModels/5
[ResponseType(typeof(Account))]
public async Task<IHttpActionResult> GetAccountModel(string username)
{
Account accountModel = await db.Accounts.FindAsync(username);
if (accountModel == null)
{
return NotFound();
}
return Ok(accountModel);
}
这是来自 Sencha 的其余代理代码:
Ext.define('MyApp.store.AccountsStore', {
extend: 'Ext.data.Store',
requires: [
'MyApp.model.AccountModel',
'Ext.data.proxy.Rest'
],
constructor: function(cfg) {
var me = this;
cfg = cfg || {};
me.callParent([Ext.apply({
storeId: 'AccountsStore',
model: 'MyApp.model.AccountModel',
proxy: {
type: 'rest',
url: '/Controllers/AccountsController.cs'
}
}, cfg)]);
}
});
请确保您已在您的 Sencha Store.So 上添加了 JSON Reader 以便您可以阅读 server.Also 发送的响应 请确保您是为此,从服务器发送 JSON 数据,在 Global.axpx
中添加以下行
var config=GlobalConfiguration.Configuration;
config.Formatters.Clear();
config.Formatters.Add(new JsonMediaTypeFormatter());
同时将 url 改成这样
url: '/Controllers/AccountsController/'
这似乎是我的主要原因,因为您添加了扩展程序
.cs 这就是为什么当你调用方法时 returns 整个控制器 class 而不是 data.Try 也删除此扩展并执行所有操作我有 suggest.Hope 它会很好用
我在 ASP.net 中创建了一个 API。我的 Sencha SPA 正试图从中获取数据。不幸的是,get 调用返回的是控制器 class 而不是我想要的数据。有什么想法吗?
获取方法如下:
private firstAPIContext db = new firstAPIContext();
// GET: api/AccountModels
public IQueryable<Account> GetAccountModels()
{
return db.Accounts;
}
// GET: api/AccountModels/5
[ResponseType(typeof(Account))]
public async Task<IHttpActionResult> GetAccountModel(string username)
{
Account accountModel = await db.Accounts.FindAsync(username);
if (accountModel == null)
{
return NotFound();
}
return Ok(accountModel);
}
这是来自 Sencha 的其余代理代码:
Ext.define('MyApp.store.AccountsStore', {
extend: 'Ext.data.Store',
requires: [
'MyApp.model.AccountModel',
'Ext.data.proxy.Rest'
],
constructor: function(cfg) {
var me = this;
cfg = cfg || {};
me.callParent([Ext.apply({
storeId: 'AccountsStore',
model: 'MyApp.model.AccountModel',
proxy: {
type: 'rest',
url: '/Controllers/AccountsController.cs'
}
}, cfg)]);
}
});
请确保您已在您的 Sencha Store.So 上添加了 JSON Reader 以便您可以阅读 server.Also 发送的响应 请确保您是为此,从服务器发送 JSON 数据,在 Global.axpx
中添加以下行 var config=GlobalConfiguration.Configuration;
config.Formatters.Clear();
config.Formatters.Add(new JsonMediaTypeFormatter());
同时将 url 改成这样 url: '/Controllers/AccountsController/'
这似乎是我的主要原因,因为您添加了扩展程序 .cs 这就是为什么当你调用方法时 returns 整个控制器 class 而不是 data.Try 也删除此扩展并执行所有操作我有 suggest.Hope 它会很好用