https请求的麻烦

时间:2019-06-25 13:33:31

标签: javascript office-js

我在 OFFICEjs 中开发了一个应用程序。全部都在LOCALHOST中工作。 上周,该程序可以完美地将数据发送到服务器并从中取回数据。星期一,我启动了该程序,并收到以下错误:

  

XHR错误。

在周末期间,我没有触摸代码,所以我不明白在这之间发生了什么,因为现在没有HTTP请求发送到服务器,POST和GET都没有。

当我将URL放入浏览器时,我从服务器获得了正确的答案,因此服务器可以正常工作。唯一的问题是与客户端一起,甚至不再触发https请求!可能在周末期间发生了什么,导致程序中的通讯出现问题。。请提供帮助,因为到目前为止我花了2天的时间试图找到问题,但没有成功。 您应该注意到,即使在现在或直到现在的任何时候,如果在浏览器中输入相同的URL,数据也将毫无问题地返回浏览器。

enter image description here

现在我注意到了一些新东西。我删除了对函数https_Last_Order_Number()的调用,而是在send函数内部进行了https常规调用。结果一无所获。我没有收到任何错误,但是请求根本没有被解雇! 这与我以前做过的https调用相同,并且可以正常工作,但现在根本不触发

async https_Last_Order_Number(){return new Promise((resolve, reject) => {

    const options = {
        hostname: 'localhost',
        port: 8888,
        path: '/getLastIdOrder',
        method: 'GET'
    }  
    const req = https.request(options,
      (res) => {
        let body = '';
        res.on('data', (chunk) => (body += chunk.toString()));
        res.on('error', reject);
        res.on('end', () => {
          if (res.statusCode >= 200 && res.statusCode <= 299) {

            resolve({statusCode: res.statusCode, headers: res.headers, body: body});
          } else {
            reject('Request failed. status: ' + res.statusCode + ', body: ' + body);
          }
        });
      });
    req.on('error', reject);
    req.end();
  });
}


async send() {

    try {
        await Excel.run( async context => {


            var currentWorksheet = context.workbook.worksheets.getActiveWorksheet();




            var range3 = currentWorksheet.getRange("H14");
            var tmpAcc = ""; //hold current acc to check.
            var check  = 1;  //suppose no problem at begining.
            var numAccRows = 0;
            //var numDuplicate=0;
            //const rankingRange = this.table.columns.getItem("Quantity").getDataBodyRange().load("values");
            let Last_Order_number   // Last order Id, returned as String.      
            let Last_Order_num     // Last order Id, as INT.


            await this.https_Last_Order_Number().then(function(results){

                Last_Order_number = results['body']
                Last_Order_num = parseInt(Last_Order_number) + 1

                return context.sync()
                    .then(function () {

                        for (let i = 0; i < 50; i++) { // for each acc, check for duplicate. 

                            if (accountRange.values[i][0] === "" || check == 0){
                                break;
                            }
                            numAccRows = numAccRows + 1; // count number of rows.
                            tmpAcc = accountRange.values[i][0];
                            for (let j = i+1; j < 50; j++){
                                if (accountRange.values[j][0] === "" ){ //if row empty, means this is no more accounts in this column, thus break. 
                                    break;
                                }
                                if (tmpAcc == accountRange.values[j][0]){ //if the acc is duplicated, break.
                                    check=0;
                                    //numDuplicate=numDuplicate+1;
                                    //let tmpCell="k"+j;
                                    //let range4 = currentWorksheet.getRange(tmpCell);
                                    //range4.values = [[tmpAcc]];
                                    break;
                                } 
                            } 
                        }

                           }        
                        }

                    });
                }).catch(err => {
                    range3.values =[[900]]
                    OfficeHelpers.UI.notify(err);
                    OfficeHelpers.Utilities.log(err);
                  });
        });
    } catch (error) {

        OfficeHelpers.UI.notify(error);
        OfficeHelpers.Utilities.log(error);
    }
}

1 个答案:

答案 0 :(得分:1)

问题在于证书只是过期了...仅有效了一个月