Asp.net mvc 3 调用Asp.Net MVC操作以加载sencha touch中的存储

Asp.net mvc 3 调用Asp.Net MVC操作以加载sencha touch中的存储,asp.net-mvc-3,extjs4,sencha-touch-2,Asp.net Mvc 3,Extjs4,Sencha Touch 2,我正在从代理调用asp.net操作以填充存储数据。 我正确地指定了url,但在make-get-request-to-Action时,它将查询字符串参数附加到调用中。这将导致404错误。 我在下面发布我的代码 Asp.net mvc操作 这是所做的ajax调用 GET http://localhost/Home/SongsList?_dc=1333338051329&page=1&start=0&limit=25 我这样假设是因为,Action没有任何参数,而这些参数

我正在从代理调用asp.net操作以填充存储数据。 我正确地指定了url,但在make-get-request-to-Action时,它将查询字符串参数附加到调用中。这将导致404错误。 我在下面发布我的代码

Asp.net mvc操作

这是所做的ajax调用

GET http://localhost/Home/SongsList?_dc=1333338051329&page=1&start=0&limit=25 
我这样假设是因为,Action没有任何参数,而这些参数正是我的ajax调用所使用的 这将导致404错误。 我不确定调用mvc操作的正确方式。如果我做错了,请告诉我。 感谢您的帮助

更新:
我尝试将相同的查询字符串参数添加到asp.net mvc操作中。但它仍然导致了404错误。当我在“新建”选项卡中打开相同的url而没有任何查询字符串参数时,它会返回Json结果。

我发现了问题所在

404错误是由于存储中定义的URL配置参数不正确造成的。我还向reader添加了一个rootProperty。 这就是代理代码的样子

Ext.define('CloudPlayerUI.store.Songs', {
extend: 'Ext.data.Store',
config: {
    model:'CloudPlayerUI.model.song',
    proxy: {
       url: 'Home/SongsList', //Changes to url
        type:'ajax',
        reader: {
            type: 'json',
            rootProperty: 'ResponseData' //Addeed reader property.
        }
    },
    autoLoad:true }
});
在Asp.MVC操作中构造返回对象


您的意思是GET参数被Sencha Touch附加到AJAX调用中吗?为什么会导致404错误?看起来像是纯ASP.net问题。我不确定ST2和它有什么关系。你能给我举一个在代理调用中使用ajax的例子吗?还有什么是服务器逻辑的其他选择?你的Sencha代码看起来不错。我指的是JSONReader的文档。您可以尝试做的唯一一件事是向读取器添加根属性。我对ASP.net一无所知,也帮不了你;很抱歉如果URL未在浏览器中使用查询字符串GET params打开,则这是服务器端问题,而不是AJAX问题。thnkx。我添加了root属性,404错误也是由于url参数不正确造成的。
GET http://localhost/Home/SongsList?_dc=1333338051329&page=1&start=0&limit=25 
Ext.define('CloudPlayerUI.store.Songs', {
extend: 'Ext.data.Store',
config: {
    model:'CloudPlayerUI.model.song',
    proxy: {
       url: 'Home/SongsList', //Changes to url
        type:'ajax',
        reader: {
            type: 'json',
            rootProperty: 'ResponseData' //Addeed reader property.
        }
    },
    autoLoad:true }
});
var results = new
                          { 
                              Success = true,
                              ResponseData = musicFileModels
                          };
        return Json(results, JsonRequestBehavior.AllowGet);