1

当我运行 signUp 方法时返回并返回错误... 在此处输入图像描述

这是注册方法...

function signUp(firstName, lastName, email, password) {
    var canceller = $q.defer();
    var cancel = function(reason) {
      canceller.resolve(reason);
    };
    var promise = $http({
      method: 'POST',
      url: CONSTS.backandUrl + '/user/signup',
      data: {
        firstName: firstName,
        lastName: lastName,
        email: email,
        password: password
      },
      timeout: canceller.promise,
      ignoreLoadingBar: true
    });
    return {
      promise: promise,
      cancel: cancel
    };
  }

我已经根据文档设置了注册,甚至是匿名令牌。

function(BackandProvider, CONSTS) {
    BackandProvider.setAnonymousToken(CONSTS.anonymousToken);
    BackandProvider.setSignUpToken(CONSTS.signUpToken);
    BackandProvider.setAppName(CONSTS.appName);
}

我错过了什么吗?会欣赏正确方向的一点。

4

1 回答 1

2

这是通过 javascript 进行 ajax 调用的常见问题。发生这种情况是因为不允许通过 javascript ajax 调用进行跨域请求。在您的情况下,您正在从域 localhost 向 api.backend.com 发出请求。浏览器检查您请求的服务器是否Access-Control-Allow- Origin在响应标头中设置了标头。如果不存在,或者标头的值不包含您在列表中的域,则浏览器会阻止该请求。

要克服这个问题,有两种方法

  1. Access-Control-Allow-Origin应在后端 API 端设置响应标头,以允许您的域向 API 发出请求。示例(此示例适用于服务器端的 java 组件。同样它也适用于其他服务器端语言)

或者

  1. 要绕过这个,你必须使用JSONP
于 2016-06-21T21:19:09.623 回答