Код: Выделить всё
{
"epcs": [
"E2806995000050084E48825E",
"E2806995000040084E44E8A6",
"E280699500004004CAA1F8E2",
"E2806995000040084E48BC91",
"E2806995000050084E418574",
"E280699500004004CAA97D4E",
"E2806995000050084E4459BA",
...
< /code>
Вот метод, который возвращает epcs < /p>
[HttpGet("stopAndGetData")]
public async Task Stop()
{
var epcs = await _reader.StopReading();
if (epcs == null || epcs.Count == 0)
{
return Ok(new { message = "Nenhum EPC capturado." });
}
return Ok(new { epcs });
}
< /code>
Но, когда я пытаюсь выполнить звонок API в JS или сделать URL -адрес в моем браузере, я получаю этот ответ (см. Print)
код JS, ответственный за выполнение Фетч - это функция: < /p>
async function stopRead(e) {
e.preventDefault();
const stopButton = e.target;
stopButton.disabled = true;
document.querySelector("#startRead").disabled = false;
try {
const response = await fetch(`${window.location.origin}/api/read-rfid/stopAndGetData`);
if (!response.ok) throw new Error(`Erro: ${response.statusText}`);
const data = await response.json();
console.log("EPCs recebidos:", data.epcs || data.message);
console.log(data);
} catch (error) {
console.error("Erro ao parar leitura:", error);
stopButton.disabled = false;
}
}
< /code>
А вот и действие, которое вызывает код JS: < /p>
[HttpGet("stopAndGetData")]
public async Task Stop()
{
try
{
using (HttpClient client = new HttpClient())
{
var response = await client.GetAsync((string)HttpContext.Session.GetString("ServiceLocalUrl") + "/api/rfid/stopAndGetData");
return Ok(response);
}
}
catch (Exception ex)
{
return BadRequest(ex);
}
}
Я уже пытался использовать Axios, изменив файл программы API, чтобы разрешить Cors.
Подробнее здесь: https://stackoverflow.com/questions/794 ... pplication
Мобильная версия