1
我已经使用Knockout.js和Sammy.js编写了一个小型的单页面应用程序,再加上用于将数据发送回服务器的jQuery。在IE中使用jQuery发布数据时发生错误的请求错误
这在Firefox中正常工作,但我所有的POST都在IE中收到“400错误请求”响应。
我已经使用Fiddler来看看发生了什么,唯一的区别是IE浏览器在Referer头文件中包含哈希,但我不认为这会导致问题。
这里是我的jQuery的岗位:
$.ajax({
type: 'POST',
url: '/App_Presentation/BDM/RdmUserCategoryService.svc/GetUserCategoryUsersByCategory',
data: '{ "categoryId" : "' + this.params.catId + '" }',
contentType: 'application/json; charset=utf=8',
dataType: 'json',
success: function (data) {
self.editCategoryData({
CategoryID: ko.observable(categoryId),
CategoryName: ko.observable(categoryName),
UserList: ko.observableArray([])
});
self.editCategoryData().UserList(data.d);
}});
在服务器上的方法不被打到,成功回调没有得到任何打击。当我添加错误回调时,我收到的唯一信息是“错误的请求”错误消息。
有没有人有任何想法?
什么服务器技术,你这个打? ASP? PHP?对不起,我跳了枪。我看到你的URL指向SVC文件。所以WCF? –
你能证实Sammy正确设置了'params.catId'吗?只是想在这里排除任何东西。你也可以在IE和Fiddler上发布某种网络流量的截图吗? –
我已经浏览了JavaScript并正确设置了params.catId值。是的,服务器是一个WCF服务。 我已经在WCF服务上运行跟踪,它正在尝试处理“无法处理contentType”请求的异常。然而,Google上几乎没有关于这方面的内容,我不知道为什么它可以在FF而不是IE中使用? – dotnetdave82