繁体   English   中英

如何在Safari 4中调试XHR POST请求?

[英]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标头,例如ConnectionContent-TypeContent-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请求数据将显示在右侧栏中:

从Safari Web Insepctor的“资源”选项卡中选择一个XHR

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM