Ajax请求数据未定义/未通过一台特定计算机

时间:2016-05-13 20:07:17

标签: javascript jquery ajax cakephp cors

*查看更新

我正面临一个令我难过的问题。基本上,当用户单击链接时,表单将在jquery ui模式对话框中打开,并且还会触发ajax请求以获取表单的必要数据。我面临的问题是,当在计算机A / B / C等上它没有问题时,但是当在计算机Z上(当然计算机Z是我的项目经理的计算机; D)时,ajax请求要么从未发送过或者返回的数据是未定义的(现在无法访问他的计算机进行验证 - 我相信ajax调用成功完成但数据未定义)。当然,这导致表单无法提交,因为它提取(或未能拉动)所需的数据是未定义的。

我的问题是可能造成这种情况的原因是什么? Computer Z只尝试过使用Chrome。已清除缓存,重新启动浏览器,启用JavaScript,已设置CORS标头。此操作适用于其他计算机上的Chrome。

计算机Z能够执行上周导致错误的相同操作(提交表单)并且没有对ajax调用进行任何更改(并且它当前正在测试所有其他计算机上)

我可以在必要/要求时发布代码,但由于它在其他计算机上工作,我最初并不感兴趣,只是为了收集潜在的原因。

我的想法已经不多了。请帮助:)非常感谢。

**更新 - 我能够继续使用我的用户凭据跳到他的计算机(计算机Z)上,一切都按预期工作。用户帐户级别(Windows 10)是否存在任何类型的设置导致此差异?在我看来,这是环境中唯一的差异。

3 个答案:

答案 0 :(得分:1)

计算机Z可能在防火墙后面。尝试从计算机Z上的REST客户端发出相同的请求,看看是否能够通过,有一些Chrome扩展程序会执行此操作Google Docs

答案 1 :(得分:0)

可能会发生一些事情。我们需要更多信息来诊断它,但您可以尝试检查可能启用的任何代理,防病毒或防火墙。

在Chrome中,您可以在chrome:// net-internals / #source

中查看代理

如果它不是网络问题,那么它可能是您的应用程序中的竞争条件。尝试在您的应用程序中添加某种延迟,以确定竞争条件可能发生的位置。

最后,请确保您尝试在Chrome中使用隐身模式,以确保没有任何扩展程序干扰该页面。

答案 2 :(得分:0)

经过测试,它似乎与Windows 10中使用的用户帐户有关。当我能够在计算机Z上成功提交时,我没有以管理员身份登录。当我的主管/项目经理登录计算机Z而无法发布/提交表单时,他以管理员身份登录。我们认为这是因为新的安全功能限制/阻止了Windows 10中管理员帐户的正常用户操作(我的主管甚至无法打开Microsoft Edge - 他们以管理员身份登录时的新Web浏览器)。 admin / non-admin似乎是导致它的原因,因为我们已经使用非我的非管理员帐户从计算机Z成功提交了。

谢谢大家的帮助/建议:)