Javascript中JSON对象的迭代问题

webghufk  于 2023-01-04  发布在  Java
关注(0)|答案(1)|浏览(143)
    • 背景**:我创建了FlaskAPI来提供笑话,并为它创建了相对静态的前端,我希望来自那里的API的笑话位于前端,并且是可调用的,但是使用JQueryAjax调用来单击按钮
    • 问题:**我已经阅读了所有关于迭代JQueryJSON对象的文档-UsingStringify方法,但是我无法获得响应对象来显示笑话,我只是不断地得到[OBJECT OBJECT]
    • 迄今为止的代码**:
place_joke = () => {
  var settings = {
    url: "http://localhost:6969/insult",
    method: "GET",
    timeout: 0
  };

  const joke = document.getElementById("joke");
  joke.innerText = $.ajax(settings).done(function (response) {
    const joke_resp = JSON.stringify(response);
    console.log(joke_resp);
    return joke_resp;
  });
};

我做错了什么?这可能是一个平庸的问题,只是frontend js不是我经常使用的语言。

    • 澄清点:**我在API的服务器上看到调用和响应代码200,因此我知道调用正在发生,并从API获得响应
    • API返回**:
{
    "Yo Mama So...": "Yo mama so hairy people think she’s an Ewok."
}
11dmarpk

11dmarpk1#

您没有阅读$. AJAX 不返回结果的部分。
AJAX 有一个回调函数,这就是您想要显示结果的地方
例如
(假设{ "Yo Mama So...": "Yo mama so hairy people think she’s an Ewok."}

const place_joke = () => {
  $.getJSON("http://localhost:6969/insult", response => {
    $("#joke").text(
      Object.values(response)[0]
    ); 
  });
};

相关问题