AJAX的结果不确定

时间:2019-07-15 15:39:56

标签: javascript jquery

我正在调用AJAX,然后将那个AJAX的“结果”保存到名为result(this.result)的变量中。但是当我调用函数getData()然后尝试访问该变量时-它为空。基本上没有数据存储在该课程中...我在做什么错了?

export default class Search {
    constructor(){
        this.result = {};
    }

      getData(){
        $.ajax({
            'url': proxy + "documents",
            'type': 'GET',
            'content-Type': 'x-www-form-urlencoded',
            'dataType': 'json',
            'headers': {
              'Authorization': 'bearer ' + localStorage.access_token
            },
            'success': function (result) {
              this.result = result; // DOES NOT WORK

              documentView.fillDocuments(result);

              return result;
            },
            'error': function (XMLHttpRequest, textStatus, errorThrown) {
              alert('Error: ' + errorThrown);
              console.log(XMLHttpRequest.status + ' ' + 
                  XMLHttpRequest.statusText);
              return "";
            }
        });
    }

此代码是从主类(index.js)调用的,它可以工作...但不会将数据保存到该变量中...

state.search.getData(); 

然后没有可用的数据:(只有{},如该类中声明的那样)

alert("RESULT: "+ JSON.stringify(state.search.result));

state仅是var state = {};用于保存应用程序的当前状态。

var state;
// init app

$(document).ready(function() {

    const intializeApp = () => {
    state = {};

    if(localStorage.access_token){
        state.search = new Search();
        const decodedJWT = parseJwt(localStorage.access_token);
        state.currentUser = new User(decodedJWT.user_name, decodedJWT.authorities);
        userView.setInitialInformation(state.currentUser);

        state.search.getData(); 
    }
    }
    intializeApp();
  });

0 个答案:

没有答案