2017-04-11 66 views
0

我想用我的ReactJS應用程序使用登錄REST API的Alfresco CE 5.1.e登錄,但我有控制檯中的下一個錯誤我的瀏覽器:驗證JSON解析錯誤與ReactJS使用Alfresco 5.1.e CE登錄REST API

語法錯誤JSON解析數據意外結束第1行的JSON數據

這個錯誤不露天CE 4.2.e發生的1列,我有一個應用程序與React Native和登錄它與4.2.e和5.1.e.一起使用。 我已經在Alfresco中配置了CORS。我想至極的問題是ReactJS,我用下面的代碼:

API-client.js

function loginAlfresco(user, pass) 
{ 
    return fetch(alfrescoLocal + "api/login", 
    { 
     method: 'post', 
     dataType: 'json', 
     body: JSON.stringify(
     { 
      username: user, 
      password: pass 
     }) 
    }) 
    .then((res) => res.json()) 
    .then(data => alert(data)) 
    .catch(error => alert("Error" + error)) 
}; 

Login.js

loginAlfresco() { 
    loginAlfresco(this.state.username, this.state.password) 
     .then((data) => 
      this.setState({ticket: data}) 
     ).catch((error) => 
      alert(error) 
     ) 
}; 

的JSON發出的是:

{ 
    "username":"user", 
    "password":"12345" 
} 

在鉻的控制檯的響應是:

Solicitud desde OTRO的origen bloqueada:LApolítica德MISMO奧利 impide閱讀EL RECURSO偏遠落後地區烯 http://EXTERNAL-IP:8082/alfresco/s/api/login(拉鬆:法爾塔LA cabecera CORS的訪問控制允許-起源')。

而網絡瀏覽器:

Request URL: http://EXTERNAL-IP:8082/alfresco/s/api/login 
Request Method: POST 
Status Code: 200 OK 
Remote Address: localhost:8082 

任何想法?

+1

發佈您嘗試解析的數據的副本。 –

+0

謝謝,我添加了它... – Arak

+0

你可以使用瀏覽器開發工具來查看到底發送和接收的內容嗎? – Gagravarr

回答

1

問題出在Alfresco CORS配置中,我將位於「tomcat/webapps/alfresco/WEB-INF/lib」文件夾中的「cors-filter-1.9.3.jar」庫更改爲更新的版本「 cors-filter-2.4.jar「,解決了。