Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

336
Visualizações
Devolver Bool a la solicitud de AJAX

Esta debe ser una respuesta realmente simple, pero no puedo ver dónde me estoy equivocando.

Simplemente escribiendo una solicitud de prueba AJAX con el código c# detrás. No puedo hacer que c# devuelva una declaración verdadera/falsa, o no puedo hacer que AJAX la reconozca como verdadera/falsa.

 [WebMethod] public static bool testme(int testnumber) { if (testnumber < 12) { return true; } else { return false; } }

AJAX:

 <script> $(document).ready(function () { $('#test').click(function () { $.ajax({ type: "post", url: "WebForm1/testme", data: { testnumber: 13 }, contentType: "application/json; charset=utf-8", datatype: "json", success: function (data) { if (data) { console.log("true"); } else { console.log("false"); } }, Error:function(error){ console.log("error"); } }); }); }) </script>

Botón:

 <input type="button" id="test" value="click me"/>

El archivo console.log muestra verdadero, aunque el número que estoy ingresando es mayor que 12, lo que debería devolver el bool "falso" del método c#.

console.log está devolviendo una representación de página completa ver imagen

about 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

su verificación if(data) está verificando la veracidad, data serán un objeto, así que mire sus propiedades y puede encontrar el resultado de C #.

Si no está familiarizado con la veracidad de JS, búsquelo para obtener una mejor descripción: pero cada variable se considera veraz si tiene un valor válido, si es nulo o indefinido (o 0 o ''), entonces no se considerará veraz y fallará una verificación booleana.

about 4 years ago · Santiago Trujillo Relatório

0

Cuando obtiene una respuesta de un WebMethod como este, debe usar un .d para hacer referencia al valor. Su código actual simplemente verifica si obtuvo una respuesta y lo más probable es que siempre se evalúe como verdadero.

 <script> $(document).ready(function () { $('#test').click(function () { $.ajax({ type: "post", url: "WebForm1/testme", data: { testnumber: 13 }, contentType: "application/json; charset=utf-8", datatype: "json", success: function (data) { if (data.d) { console.log("true"); } else { console.log("false"); } }, Error:function(error){ console.log("error"); } }); }); }) </script>

Un puntero también que puede ayudarlo a descubrir qué está sucediendo sería usar la pestaña de red de las herramientas de desarrollo de su navegador (F-12) para ver el formato de respuesta que regresa del servidor. No solo devuelve verdadero o falso, sino que devuelve d: true o d: false , por lo tanto, el cambio que mencioné.

about 4 years ago · Santiago Trujillo Relatório

0

Cada vez que tengo que usar Ajax, vuelvo desde el objeto de función JSON. Por ejemplo:

 return Json(new { result = true });

y en AJAX:

 <script> $(document).ready(function () { $('#test').click(function () { $.ajax({ type: "post", url: "WebForm1/testme", data: { testnumber: 13 }, contentType: "application/json; charset=utf-8", datatype: "json", success: function (data) { if (data.result === true) { console.log("true"); } else { console.log("false"); } }, Error:function(error){ console.log("error"); } }); }); }) </script>
about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda