Microsoft Dynamics Nav JavaScript添加

时间:2015-09-02 15:50:37

标签: javascript ajax web-services microsoft-dynamics dynamics-nav-2013

我使用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);              
});

有什么建议吗?

非常感谢。

1 个答案:

答案 0 :(得分:0)

很有可能,您使用了错误的网址。

通常,您应该在这里查找Microsoft Dynamics NAV 2013中的正确链接:

  1. 打开 RoleTailored客户端
  2. 搜索框中,输入网络服务,然后选择相关链接。
  3. 这应该为您提供包含Microsoft Dynamics NAV安装的所有现有Web服务的列表。有关详细信息,请参阅the official docs on the MSDN

    注意:

    此列表中的网址可能不正确,可能是由于您可能无法访问的某些模糊配置设置。

    当我尝试连接到我正在为我们工作的公司使用的Microsoft Dynamics NAV安装中的Web服务时,发生了这种情况。修复此问题的方法是将我<Server>链接的http://<Server>:<ODataWebServicePort>/<ServerInstance>/OData/部分替换为我用来登录我的网络客户端的网址的<Server>部分。 <{1}}以后(<ODataWebServicePort>)的所有内容都应该是正确的。