这段代码的问题在于当服务器返回的响应状态码不是 200 时,会输出一个乱码字符串。建议修改为:

async function callCHATGPT() {
  var url = 'https://free-api.cveoy.top/v2/completions';
  var version_ = 'jsjiami.com.v7';

  var responseText = document.getElementById('result');
  responseText.innerHTML = '';

  const prompt = document.getElementById('prompt').value;
  const data = JSON.stringify({
    'prompt': prompt
  });

  const response = await fetch(url, {
    'method': 'POST',
    'headers': {
      'Content-Type': 'application/json'
    },
    'body': data
  });

  if (response.status == 200) {
    const reader = response.body.getReader();
    while (true) {
      const { value, done } = await reader.read();
      if (done) break;
      responseText.innerHTML += new TextDecoder().decode(value);
    }
  } else {
    responseText.innerHTML += '\n服务器返回错误状态码:' + response.status;
  }
}

这样,当服务器返回的状态码不是 200 时,会输出一个提示信息,告知用户出错原因。

JavaScript 代码修复:处理非 200 状态码的错误信息

原文地址: https://www.cveoy.top/t/topic/mx7y 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录