Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Autodesk Forge尝试联机访问API时出错_C#_Jquery_Xmlhttprequest_Autodesk Forge - Fatal编程技术网

C# Autodesk Forge尝试联机访问API时出错

C# Autodesk Forge尝试联机访问API时出错,c#,jquery,xmlhttprequest,autodesk-forge,C#,Jquery,Xmlhttprequest,Autodesk Forge,我在在线服务器上加载3D模型时遇到问题,显示的错误与访问Forge API有关,本地工作正常,但是当安装到服务器上或创建网站时,会标记以下错误“加载资源失败:服务器响应状态为404(未找到)”,然后是“onDocumentLoadFailure()-错误代码:7”。 正如我所评论的,我发现奇怪的是,在当地,它是有效的。附加显示错误的代码段 function getAccessToken() { var xmlHttp = null; xmlHttp = new XMLHttpR

我在在线服务器上加载3D模型时遇到问题,显示的错误与访问Forge API有关,本地工作正常,但是当安装到服务器上或创建网站时,会标记以下错误“加载资源失败:服务器响应状态为404(未找到)”,然后是“onDocumentLoadFailure()-错误代码:7”。 正如我所评论的,我发现奇怪的是,在当地,它是有效的。附加显示错误的代码段

 function getAccessToken() {
    var xmlHttp = null;
    xmlHttp = new XMLHttpRequest();
    xmlHttp.open("GET", '/api/forge/toke', false); //Address not found
    xmlHttp.send(null);
    return xmlHttp.responseText;
}

非常感谢您。

您确定您在本地运行的代码与您部署的代码确实相同吗

getAccessToken
函数似乎不正确,原因如下:

  • 首先,URL中似乎有一个输入错误-它不应该是
    /api/forge/token
    而不是
    /api/forge/toke
  • 更重要的是,HTTP请求是异步的,这意味着它不能在调用
    xmlHttp.send()后立即返回响应。您可以在中找到有关
    XMLHttpRequest
    用法的更多详细信息
  • 最后,假设函数被传递到Autodesk.Viewing.Initializeroptions,它应该使用传递给它的回调参数返回令牌(如中所示)
这样,您的
getAccessToken
应该看起来更像这样(使用更现代的
fetch
和async/await):

异步函数getAccessToken(回调){ const resp=wait fetch('/api/forge/token'); const json=await resp.json(); 回调(json.access_token,json.expires_in); }
我已经找到了问题所在。在进行部署时,我必须更改向公众发出请求的url或域名。例如:mywebsite.com/aplication name/api/forge/token。

您好,非常感谢您抽出时间回答我的问题。我已经找到了问题所在。在进行部署时,我必须更改向公众发出请求的url或域名。例如:。在这个问题上,我在写作时犯了一个错误,这就是为什么它说“toke”而不是“token”。