我有一个在FF3.5中成功的XHR请求,但在Safari 4中显然失败了.我正在查看Safari中调试器中的xhr请求和Firefox中的Firebug.
因此,在被击中的后端服务上,如果POST参数中缺少用户名和密码,则服务会给出500错误.如果参数存在(即使不正确),则根据错误给出200或40x.
无论如何,使用相同的代码,它适用于非Safari浏览器.Safari获取500错误,如用户/通行证未通过.
当我在调试器中检查请求时,它看起来不像它在日志中显示POST数据.
我需要启用一个选项,或者如何在Safari 4中调试这些请求?
如果您指的是Safari"Web Inspector":它确实不会在使用Ajax发送时显示POST数据.我会使用像Wireshark这样的数据包嗅探器(但仅仅因为我还将其用于其他事情)或调试代理.
有些事情要检查您的POST:你调用setRequestHeader
设置所需的HTTP头,喜欢Connection
,Content-Type
和Content-Length
?由于您的代码适用于Firefox,我假设您实际上正在设置POST内容send
?请在JS Bin中发布您的代码!
(仅用于存档:除了启用调试菜单之外defaults.write
,Safari 4还有一个可以通过高级首选项启用的" 开发"菜单.选择"显示Web检查器⌥⌘I",您应该能够看到请求和"资源"选项卡上的响应.确保选择"按开始时间排序".如果通过GET发送XHR,显然必须查看请求URL本身,这显示正常.但是,对于POST,请求标头显示但是遗憾的是POST数据丢失了.虽然我从未使用过调试菜单.)