Code: Select all
{
"epcs": [
"E2806995000050084E48825E",
"E2806995000040084E44E8A6",
"E280699500004004CAA1F8E2",
"E2806995000040084E48BC91",
"E2806995000050084E418574",
"E280699500004004CAA97D4E",
"E2806995000050084E4459BA",
...
< /code>
Hier ist die Methode, die die EPCs < /p>
zurückgibt[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>
Aber wenn ich versuche, den API -Anruf in JS durchzuführen oder die von der URL in meinem Browser zu machen Der Abruf ist diese Funktion: < /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>
Und hier ist die Aktion, die der JS -Code aufruft: < /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);
}
}
Ich habe bereits versucht, AXIOS zu verwenden, und Ändern der Programmdatei der API, um CORS zuzulassen.