带有ColdFusion组件的本地原生axios

时间:2018-12-15 17:03:54

标签: react-native coldfusion axios

我正尝试使用axios将来自react native的get请求发送到我的Coldfusion组件。

我的Coldfusion组件:

component displayName="react" {

remote any function ajaxLogin(data) returnformat="JSON"{
    data = deserializeJSON(arguments.data);
    return serializeJSON(login(data));
}

private any function login(data){
    loginQuery = new query();
    loginQuery.setDatasource("ds");
    loginQuery.setName("loginQuery");
    loginQuery.addParam(name="UserEmail",       value="#arguments.data.userEmail#",     cfsqltype="cf_sql_varchar");
    loginQuery.addParam(name="UserPW",      value="#arguments.data.userPassword#",      cfsqltype="cf_sql_varchar");
    result = loginQuery.execute(sql="SELECT * FROM Users Where UserEmail = :UserEmail AND UserPW = :UserPW");
    rs = result.getResult();
    if(rs.recordCount == 0){
        return 0;
    } else {
        return rs.UserID;
    }
}

}

我的本​​机调度动作:

export const loginUser = ({ email, password }) => {
  // login
  return (dispatch) => {
    dispatch({ type: 'TEST' });
    axios.get('https://myserver.com/components/reactNative/react.cfc?method=ajaxLogin', {
      params: {
        userEmail: email,
        userPassword: password
      }
    })
      .then((response) => {
        console.log(response.data);
      })
      .catch((err) => {
        console.log(err);
      });
  };
};

它从捕获中返回错误:

Error: Request failed with status code 500

我是axios和react-native的新手。我使用axios错误吗?

谢谢

1 个答案:

答案 0 :(得分:1)

状态码500是服务器端错误,因此您可能会遇到Coldfusion错误,请检查您的ColdFusion日志。

当您将其称为GETrequest时,只需在浏览器选项卡中打开URL,看看是否有任何错误转储到页面上(在开发环境中)

https://myserver.com/components/reactNative/react.cfc?method=ajaxLogin&userEmail=email&userPassword=password

如果这是正式产品,那么您应该在错误日志中看到错误(例如Linux上的/var/www/opt/coldfusion_11/cfusion/logs之类的东西)