簡體   English   中英

打印對AJAX呼叫的響應

[英]Printing response to AJAX call

我正在嘗試通過AJAX調用查詢服務器上的端點

服務器代碼:

@app.route('/predict')
def predict():
  return 'predict'

我要做的就是在控制台中打印“ predict”。

$.get({
  url: "http://url.com/predict",
  success: function(data) {
    console.log(data)
  }
})

但是我得到的答復是:

Object {readyState: 1}

我對Javascript和回調不熟悉。 為了使這項工作有效,我應該更改什么?

您可以嘗試這樣的事情:

$.ajax({
      type: "GET",
      url: "http://url.com/predict",
      success: function(data) {
         console.log(data)
      },
      error: function (xhr, ajaxOptions, thrownError) {
        console.log(xhr.status);
        console.log(thrownError);
      }
});

或者,您可以實例化XMLHttpRequest,並通過以下方式發送請求:

function load() {
  var xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
      console.log(this.responseText);
    }
  };
  xhttp.open("GET", "http://url.com/predict", true);
  xhttp.send();
}

將我的Flask端點更改為:

@app.route('/predict')
def predict():
  resp = flask.Response("predict")
  resp.headers["Access-Control-Allow-Origin"] = "*"
  return resp

現在可以使用:

$.ajax({
  url: "https://url.com/predict",
  success: function(data){
    console.log(data)
  }
})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM