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

214
Visualizações
jquery ajax enviando a la función de éxito

estoy tratando de aprender ajax con jquery pero hay algo que no entiendo. Como puede ver en el código a continuación, cuando llamamos a la función onSuccess, no toma argumentos, pero la función en sí toma la respuesta. El código está funcionando, pero ¿cómo y por qué? y si quiero enviar otro parámetro a la función de éxito, ¿cómo lo hago?

 $.ajax({ type: "POST", //getListOfCars is my webmethod url: "WebService.asmx/getListOfCars", data: jsonData, contentType: "application/json; charset=utf-8", dataType: "json", // dataType is json format success: OnSuccess, error: OnErrorCall }); ****function OnSuccess(response) { console.log(response.d) }****
over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

una forma de usar otro parámetro es definirlos primero y estar en el mismo ámbito

 function ajaxCaller(){ var useable= 'my inject'; $.ajax( ... sucess: successListener ) var successListener = function(data){ console.log(data); console.log(useable); // can access here because the scope is given } }

la devolución de llamada de ajax está definida por corrección SuccessListener (datos, texto de estado, jqXHR) y no puede inyectar algún parámetro dentro de esta estructura para mi conocimiento.

una cosa es posible. agregue los parámetros que necesita a su objeto de datos e ignórelo por su api. de lo que puede acceder al objeto jqXHR que contiene los parámetros solicitados.

 success: function(data, text, jqXHR)
over 4 years ago · Santiago Trujillo Relatório

0

Parece que podría estar confundiendo el acto de llamar a una función y pasar la referencia a una función. Considere el siguiente código:

 function plusOne(inputParam) { return inputParam + 1; } var value = plusOne(6) // value = 7 function funcCaller(callback){ var cbValue = poCallback(99); return cbValue; } var value2 = funcCaller(plusOne); // value2 = 100

Aquí tienes una función llamada plusOne , que simplemente suma 1 al parámetro que le diste y lo devuelve. El valor de la variable se establece en el valor de 7 porque llamó a la función plusOne con un parámetro de 6 pasado. Esto es lo que espera cuando llama a una función.

Después de eso, declara una nueva función que toma en su parámetro otra función (a menudo denominada función de devolución de llamada). Todo lo que hace funcCaller es llamar a cualquier parámetro que le haya pasado con un valor predeterminado de 99 y devolver la respuesta. Ahora, en la última línea, la variable value2 se establece en 100. Esto se debe a que llama a la función funcCaller y le pasa una referencia a plusOne , tenga en cuenta que no llama a plusOne sino que solo pasa su referencia como parámetro a funcCaller . Ahora funcCaller llama a plusOne con 99 y obtiene 100 como respuesta, que luego regresa a value2 .

Entonces aquí notará que en su última línea acaba de pasar plusOne sin ningún parámetro, pero aún así fue llamado con un parámetro de 99 eventualmente. Entonces, en jquery ajax, esencialmente está sucediendo algo como esto, después de que termina de recibir una respuesta de su POST, llama a la función que pasó con su propio conjunto de parámetros, en particular: Función (datos, estado de texto, jqXHR)

over 4 years ago · Santiago Trujillo Relatório

0

En mi experiencia con las funciones/devoluciones de llamada de javascript, si no especifica los parámetros, entonces javascript simplemente se encarga de eso por usted. si cambiaste tu código a este aunque:

 $.ajax({ type: "POST", //getListOfCars is my webmethod url: "WebService.asmx/getListOfCars", data: jsonData, contentType: "application/json; charset=utf-8", dataType: "json", // dataType is json format success: OnSuccess(true), error: OnErrorCall(false)

});

Entonces simplemente pasará lo que le digas y no completará el objeto de respuesta. Si desea pasar más parámetros, debe agregar parámetros a sus controladores de devolución de llamada de éxito y error. Puede pasarlos explícitamente o jquery podría pasarles objetos. Además, recuerde que jquery está llamando a estos controladores en segundo plano, solo está especificando el nombre de la función a la que llama jquery.

over 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