从jquery获取Ajax请求的"parsererror",我尝试将POST更改为GET,以几种不同的方式返回数据(创建类等),但我似乎无法弄清问题是什么.
我的项目在MVC3中,我正在使用jQuery 1.5我有一个Dropdown,在onchange事件中,我根据所选内容启动调用以获取一些数据.
下拉列表:(这会从Viewbag中的列表中加载"视图"并触发事件正常工作)
@{
var viewHtmls = new Dictionary<string, object>();
viewHtmls.Add("data-bind", "value: ViewID");
viewHtmls.Add("onchange", "javascript:PageModel.LoadViewContentNames()");
}
@Html.DropDownList("view", (List<SelectListItem>)ViewBag.Views, viewHtmls)
Run Code Online (Sandbox Code Playgroud)
使用Javascript:
this.LoadViewContentNames = function () {
$.ajax({
url: '/Admin/Ajax/GetViewContentNames',
type: 'POST',
dataType: 'json',
data: { viewID: $("#view").val() },
success: function (data) {
alert(data);
},
error: function (data) {
debugger;
alert("Error");
}
});
};
Run Code Online (Sandbox Code Playgroud)
上面的代码成功调用了MVC方法并返回:
[{"ViewContentID":1,"Name":"TopContent","Note":"Content on the top"},
{"ViewContentID":2,"Name":"BottomContent","Note":"Content on the bottom"}]
Run Code Online (Sandbox Code Playgroud)
但是jquery会触发$ .ajax()方法的错误事件,说"parsererror".
我正在编写一个应用程序,其中包含大约12个简短的JS文件<head>(我知道,我应该合并它们并在结束之前移动它们<body>;在生产时会得到它们)
麻烦的是,当我尝试在Chrome中加载应用程序时,有些文件立即加载,而有些文件从未完成加载!Chrome一直试图加载12个JS文件,并且在我点击"停止"之前从不渲染页面.
当我点击停止时,呈现HTML并且JS文件失败,如下图所示:

请注意,每次尝试都会失败不同的JS文件!它不是每次都被卡住的同一个文件!
检查失败文件的标题显示"警告:请求尚未完成".文件卡在"接收"有时很长一段时间!

现在这里是有趣的部分,在点击停止后,如果我专注于omnibar并按回车键,所有JS文件立即加载,应用程序正常工作!
在服务器端,我使用的是Apache,PHP和MySQL.我在Apache中错误配置了什么吗?
在两天艰苦的日子之后的状态:zilch,没什么,nada,这让我疯了.我尝试从不同的机器运行代码,尝试更改apache缓存设置并在javascript中更改了无数的东西,但没有任何工作.最糟糕的是没有人可以指出问题出在哪里!