我在使用JQuery ajax时遇到了一些不寻常的问题。我正在使用IIS来托管我的web应用程序,并且我有一个http处理程序,我只在它上面启用了POST动词。使用JQuery ajax,我将数据发送到这个http处理程序,这在我们的开发和测试环境中工作得很好,大多数时间在生产环境中也是如此。但有时我们会将空的post数据发送到服务器上。当我们查看IISLog上的csBytes时,我们发现与其他成功的post请求相比,它要少得多。我们使用JSON.js将javascript对象转换回原始的json字符串和最新的jquery.1-3.js,以便发布到服务器。没人知道为什么会这样吗?
发布于 2010-06-09 20:59:05
我遇到了同样的问题。使用tamperdata,我确定我的响应头是一个404错误。您的路径映射正确吗?
例如:这可以在我的本地机器上进行开发,但不能在IIS服务器上运行:
$.post('/Reservation/UpdateHeadCount', {
id: '<%= Html.Encode(Model.reservation_id) %>',
newHeadCount: SelectedVal
});这在两种情况下都有效:
$.post('<%= VirtualPathUtility.ToAbsolute("~/Reservation/UpdateHeadCount") %>', {
id: '<%= Html.Encode(Model.reservation_id) %>',
newHeadCount: SelectedVal
});发布于 2009-11-13 20:44:57
不确定,但也许这是由浏览器错误引起的?因为您将得到一个到服务器的空post,所以jquery post方法可以正常工作,但在某些情况下,json转换似乎不起作用。
您应该查看发布这些空值的用户代理的IIS日志文件。
当然,也有可能有人正在向您的服务器手动发送帖子……寻找可利用的漏洞。
发布于 2009-11-13 21:33:56
我认为这既不是浏览器配置的问题,也不是用户手动发布的问题。由于相同会话,http处理程序使用相同的客户端IP和用户代理成功地接收了一些post数据。我们的用户不是那么高的专业人员来做手工发帖。因此,我不认为浏览器配置会有什么问题。
https://stackoverflow.com/questions/1728975
复制相似问题