[英]How to debug XHR POST requests in Safari 4?
我有一个XHR请求,该请求在FF3.5中成功了,但是在Safari 4中完成时显然失败了。我在Safari中的调试器中查看xhr请求,在Firefox中查看Firebug。
因此,在受到攻击的后端服务上,如果POST参数中缺少用户名和密码,则该服务会给出500错误。 如果参数存在(即使不正确),则根据错误给出200或40倍。
无论如何,因此使用相同的代码即可在非Safari浏览器中使用。 Safari出现500错误,例如未通过用户/密码。
当我在调试器中检查请求时,它看起来不像在日志中显示POST数据。
是否需要启用一个选项,或者如何在Safari 4中调试这些请求?
如果您指的是Safari“ Web检查器”:当使用Ajax发送时,它确实不显示POST数据。 我会使用Wireshark之类的数据包嗅探器(但仅仅是因为我还将它用于其他用途)或调试代理 。
使用POST检查一些事情:是否正在调用setRequestHeader
来设置所需的HTTP标头,例如Connection
, Content-Type
和Content-Length
? 当您的代码与Firefox一起使用时,我假设您实际上是使用send
设置POST内容的? 请在JS Bin中发布您的代码!
(仅用于存档:除了通过defaults.write
启用调试菜单外,Safari 4还具有一个Develop菜单,您可以通过高级首选项简单地启用它。选择“ Show Web Inspector⌥⌘I”,您应该能够看到“资源”选项卡上的请求和响应。确保选择“按开始时间排序”。如果XHR是通过GET发送的,则显然必须查看请求URL本身,该URL可以很好地显示。标头显示,但可悲的是缺少POST数据。不过,我从未使用过调试菜单。)
从今天开始(Safari 7.1),如果您选择了这样的XHR(在“ 资源”选项卡下的XHRs文件夹中),则POST请求数据将显示在右侧栏中:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.