MHT*_*Tri 2 ajax extjs http-status-code-404 asp.net-mvc-3
我一直在使用EXTJS 4并在.aspx页面的代码隐藏处通过AJAX调用加载我的商店到Webmethod.这个方法适用于我的所有项目,直到我尝试将EXTJS 4工作移植到MVC3项目中.我的电话现在正在返回404.
关键部分是项目(和EXTJS4 webmethod调用)在我的同事的机器上运行 - 只有我的机器受到'404'错误的影响.任何Webmethod调用,无论是他们的一个或由我编写,都会返回"未找到资源".这是怎么回事?
一些代码如果有帮助:加载商店:
Ext.define('pr.store.Store-Items', {
extend: 'Ext.data.Store',
model: 'pr.model.Model-Items',
pageSize: 200,
groupField: 'groupID',
autoLoad: { params: { start: 0, limit: 200 } },
proxy: {
type: 'ajax',
//get data from json file for now
headers: { 'Accept': 'application/json, text/javascript, */*; q=0.01', 'Content-Type': 'application/json; charset=utf-8' },
url: '/Project/Data.ashx/GetData',
reader: {
type: 'json',
root: 'd.objects',
totalProperty: 'd.totalCount'
},
extraParams: {
where: Ext.encode(new Array(''))
, difference: true
, mode: 0
}
}
});
Run Code Online (Sandbox Code Playgroud)
的WebMethod
[System.Web.Script.Services.ScriptMethod(ResponseFormat = System.Web.Script.Services.ResponseFormat.Json, UseHttpGet=true)]
[System.Web.Services.WebMethod]
public static object GetData(int start, int limit, string[] where, bool difference, int mode)
{
//Code
}
Run Code Online (Sandbox Code Playgroud)
小智 6
我还遇到了这个问题,所以从Web.Config中删除了以下内容.
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<remove name="OPTIONSVerbHandler" />
<remove name="TRACEVerbHandler" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
Run Code Online (Sandbox Code Playgroud)
在system.webServer> handlers中找到.
另外,我们在Global.asax.cs文件中还有以下3个附加规则:
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.IgnoreRoute("{resource}.aspx/{*pathInfo}");
routes.IgnoreRoute("{resource}.asmx/{*pathInfo}");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3466 次 |
| 最近记录: |