Javascript 在向其他url发出JSON请求时获取{“readyState”0、“status”0、“statusText:“error”}

Javascript 在向其他url发出JSON请求时获取{“readyState”0、“status”0、“statusText:“error”},javascript,jquery,ember.js,jwt,Javascript,Jquery,Ember.js,Jwt,我正在尝试使用ember simple auth和自定义适配器向位于不同url上的API发出JSON请求。当我发出请求并检查控制台时,请求返回状态代码:301永久移动,并返回错误{“readyState”:0,“Status”:0,“statusText”:“error”} 当我打印requestOptions变量时,我得到{“async”:true,“crossDomain”:true,“url”:https://api.otherwebsite.com/api/auth/login“,“pr

我正在尝试使用
ember simple auth
和自定义适配器向位于不同url上的API发出
JSON
请求。当我发出请求并检查控制台时,请求返回
状态代码:301永久移动
,并返回错误
{“readyState”:0,“Status”:0,“statusText”:“error”}

当我打印
requestOptions
变量时,我得到
{“async”:true,“crossDomain”:true,“url”:https://api.otherwebsite.com/api/auth/login“,“processData”:false,“method”:“POST”,“contentType”:“application/json”,“data”:“{\“name\”:“foo\”,“password\”:“bar\”,“secret\”:“012345\”}


我不确定问题出在哪里,任何帮助都将不胜感激

这是我用于JWT的custome
验证器

import Ember from 'ember';
import Base from 'ember-simple-auth/authenticators/base';
import config from '../config/environment';

const { RSVP: { Promise }, $: { ajax }, run } = Ember;

export default Base.extend({
  tokenEndPoint: `${config.host}/user_token`,

  restore(data) {
    return new Promise((resolve, reject) => {
      if (!Ember.isEmpty(data.token)) {
        resolve(data);
      } else {
        reject();
      }
    });
  },

  authenticate(creds) {
    const {email, password} = creds;
    const data = JSON.stringify({
      auth: {
        email,
        password
      }
    });

    const requestOptions = {
      url: this.tokenEndPoint,
      type: 'POST',
      data,
      contentType: 'application/json',
      dataType: 'json'
    };

    return new Promise((resolve, reject) => {
      ajax(requestOptions).then((response) => {
        const { jwt } = response;
        run(() => {
          resolve({
            token: jwt
          });
        });
      }, (error) => {
        run(() => {
          reject(error);
        });
      });
    });
  },

  invalidate(data) {
    return Promise.resolve(data);
  }

搜索跟踪重定向的选项。。。。或者检查您的URL是否错误?(缺少https或www)@RolandStarke我将其更改为https,我现在获得状态代码200,但我仍然获得{“readyState”:0,“status”:0,“statusText”:“error”}
import Ember from 'ember';
import Base from 'ember-simple-auth/authenticators/base';
import config from '../config/environment';

const { RSVP: { Promise }, $: { ajax }, run } = Ember;

export default Base.extend({
  tokenEndPoint: `${config.host}/user_token`,

  restore(data) {
    return new Promise((resolve, reject) => {
      if (!Ember.isEmpty(data.token)) {
        resolve(data);
      } else {
        reject();
      }
    });
  },

  authenticate(creds) {
    const {email, password} = creds;
    const data = JSON.stringify({
      auth: {
        email,
        password
      }
    });

    const requestOptions = {
      url: this.tokenEndPoint,
      type: 'POST',
      data,
      contentType: 'application/json',
      dataType: 'json'
    };

    return new Promise((resolve, reject) => {
      ajax(requestOptions).then((response) => {
        const { jwt } = response;
        run(() => {
          resolve({
            token: jwt
          });
        });
      }, (error) => {
        run(() => {
          reject(error);
        });
      });
    });
  },

  invalidate(data) {
    return Promise.resolve(data);
  }