我使用JavaScript为Microsoft Dynamics Nav 2013创建了一个Addin,当我在Navision所在的同一台机器上使用它时,它可以正常工作。然而,当我将“localhost”替换为机器的名称时,它不起作用。这是我的剧本:
$(document).ready(function() {
//This does not work
var url = "http://myService:7057/OData/Company('Company')/CRMSPABookings?$format=json";
// This works
// var url = "http://localhost:7057/OData/Company('Company')/CRMSPABookings?$format=json";
$.ajaxSetup({
xhrFields: {
withCredentials: true
}
});
var http_request = new XMLHttpRequest();
http_request.open("GET", url, false);
http_request.withCredentials = "true";
http_request.send();
xmlDocImage = http_request.responseText;
var x = JSON.parse(xmlDocImage);
});
有什么建议吗?
非常感谢。
答案 0 :(得分:0)
很有可能,您使用了错误的网址。
通常,您应该在这里查找Microsoft Dynamics NAV 2013中的正确链接:
这应该为您提供包含Microsoft Dynamics NAV安装的所有现有Web服务的列表。有关详细信息,请参阅the official docs on the MSDN。
此列表中的网址可能不正确,可能是由于您可能无法访问的某些模糊配置设置。
当我尝试连接到我正在为我们工作的公司使用的Microsoft Dynamics NAV安装中的Web服务时,发生了这种情况。修复此问题的方法是将我<Server>
链接的http://<Server>:<ODataWebServicePort>/<ServerInstance>/OData/
部分替换为我用来登录我的网络客户端的网址的<Server>
部分。 <{1}}以后(<ODataWebServicePort>
)的所有内容都应该是正确的。