从外部应用程序

时间:2017-02-21 15:05:16

标签: ajax rest cors bpm processmaker

我已按照PM文档(http://wiki.processmaker.com/3.1/OAuth_2.0)中的教程进行操作,但未成功访问访问令牌。 目前我正在使用PM的试用版,我想访问我的java应用程序js文件中的API,但浏览器返回以下错误" XMLHttpRequest无法加载' myPMServerAddress&# 39;被CORS政策阻止:No' Access-Control-Allow-Origin'标头出现在请求的资源上。起源' http://localhost:8100'因此不允许访问。 "。

任何帮助? 我在(User Applications - > + New)表单的网站框中注册了我的应用服务器(http://localhost:8100),我的代码如下:

var restServer = 'https://trial.processmaker.com/';
var workspace = 'sysmyWorkspace/';
var jqxhr = $.ajax({
    type: "POST",
    url:  restServer + workspace + 'oauth2/token',      
        data: {
        grant_type   : 'password',
        scope        : '*',
        client_id    : 'myClientId',
        client_secret: 'myClientSecret',
        username     : 'admin',
        password     : 'myPassword'
    }
})
    .done( function(data) {
        if (data.error) {
            alert("Error in login!\nError: " + data.error +    "\nDescription: " + data.error_description);
        }
        else if (data.access_token) {                
           alert("data access token received!");              
            var d = new Date();
            d.setTime(d.getTime() + 60*60*1000);
            document.cookie = "access_token="  + data.access_token  + "; expires=" + d.toUTCString();
            document.cookie = "refresh_token=" + data.refresh_token; //refresh token doesn't expire
        }
        else {
            alert(JSON.stringify(data, null, 4)); 
        }
    })
    .fail(function(data, statusText, xhr) {
        alert("Failed to connect.\nHTTP status code: " + xhr.status + ' '   + statusText);
    });    
}); 

1 个答案:

答案 0 :(得分:0)

您需要在客户端

中禁用CORS

对于Ubuntu: google-chrome --disable-web-security --user-data-dir

Windows女士

: 进入命令提示符并进入Chrome.exe所在的文件夹并键入

chrome.exe --disable-web-security

我可以毫无错误地测试它。