2012-02-29 57 views
2

我正在使用CRM 2011,并且我有两个按钮,并附上了javascript。其中一个在同一个域中调用web服务,另一个按钮再次向同一个域发出ODATA更新请求。所以我没有跨域操作。Jquery中的“No Transport”错误ajax crm 2011

我面对的问题是,如果我按下一个按钮,然后按另一个按钮,我会在第二个按钮上出现“无传输”错误。之后,两个按钮开始抛出相同的错误并且不起作用。但是如果我一直按下同样的按钮,它对两个按钮都可以正常工作。只有当我在看到错误的两个人之间切换时。

任何想法这里发生了什么?提前致谢!

+0

我一直在寻找一些其他的职位,我发现,使用完全合格的URL可能会造成问题。我能够删除odata请求的完整限定网址,并且现在每次都可以正常工作,即使我在Web服务调用后尝试它也是如此。但对于Web服务调用,我无法删除完全限定的URL,因为它具有特定的端口。它几乎看起来可能是某种缓存问题,因为Web服务调用是我第一次尝试它,但如果我做了odata然后再次尝试Web服务,它会引发错误。有任何想法吗? – user1081934 2012-02-29 19:17:55

+0

Posible duplicate question http://stackoverflow.com/questions/5241088/jquery-call-to-webservice-returns-no-transport-error – Iain 2012-03-02 13:46:02

+0

@lain:我的场景不涉及任何跨域操作,所以它不同于问题在您发布的链接 – user1081934 2012-07-31 18:08:19

回答

0

这可能会对您有用,也可能不会对您有用,但我遇到了与oData服务类似的问题。如果我使用服务器的IP地址连接到我们的网络上的CRM,那么我的oData调用遇到了“无传输”错误。但是,通过DNS中注册的名称进行连接时,我没有这种传输问题。所以它看起来与在公司网络上建立信任的方式有关。

这似乎并没有调和为什么你的电话工作与一个按钮点击,但不是多个点击(你提到可能与缓存相关),但根据你以后的评论可能是相关的。

+0

感谢您的回复。我的问题似乎并不是你所经历的。由于当我发出odata请求并进行web服务调用时出现“No Transport”错误,我尝试打开Fiddler以查看发生了什么,并发现没有请求实际上发送到Web服务,当“没有运输“错误显示。所以看起来IE浏览器可能会抛出错误。在请求没有出现在Fiddler之前,您是否看到过这样的情景? – user1081934 2012-07-31 18:11:43

+0

只是为了澄清,Web服务调用是针对我的自定义Web服务的,而odata请求是针对CRM 2011 OrganizationData服务的。我尝试使用 $ .ajaxSetup({缓存:假 }); 以及$ .ajax()请求中的缓存:false。两者似乎没有任何区别。我仍然看到相同的无运输错误。有人对此有任何想法吗? – user1081934 2012-08-02 18:35:31

+0

@ user1081934您的服务是否与Dynamics实例部署在同一台服务器上? – 2012-08-02 21:35:06