recibir por parametros obtener enviar datos agregar _get javascript jquery ajax get

javascript - por - obtener parametros url jquery



Cómo pasar parámetros en solicitudes GET con jQuery (8)

¿Cómo debería pasar los valores de cadena de consulta en una solicitud jQuery Ajax? Actualmente los hago de la siguiente manera, pero estoy seguro de que hay una manera más limpia que no requiere que codifique manualmente.

$.ajax({ url: "ajax.aspx?ajaxid=4&UserID=" + UserID + "&EmailAddress=" + encodeURIComponent(EmailAddress), success: function(response) { //Do Something }, error: function(xhr) { //Do Something to handle error } });

He visto ejemplos donde los parámetros de cadena de consulta se pasan como una matriz, pero estos ejemplos que he visto no usan el modelo $.ajax() , sino que van directamente a $.get() . Por ejemplo:

$.get("ajax.aspx", { UserID: UserID , EmailAddress: EmailAddress } );

Prefiero usar el formato $ .ajax () ya que es a lo que estoy acostumbrado (sin una razón particularmente buena, solo una preferencia personal).

Editar 04/09/2013:

Después de que se cerró mi pregunta (como "Demasiado localizado") encontré una pregunta relacionada (idéntica), con 3 votaciones al alza sin importancia (Lo malo es que no la encontré en primer lugar):

Usando jquery para hacer una POST, ¿cómo suministrar correctamente el parámetro ''datos''?

Esto respondió mi pregunta perfectamente, encontré que hacerlo de esta manera es mucho más fácil de leer y no necesito usar manualmente encodeURIComponent() en la URL o los valores de DATOS (que es lo que encontré poco claro en la respuesta de bipen). Esto se debe a que el valor de los data se codifica automáticamente a través de $.param() ). En caso de que esto pueda ser útil para cualquier otra persona, este es el ejemplo con el que fui:

$.ajax({ url: "ajax.aspx?ajaxid=4", data: { "VarA": VarA, "VarB": VarB, "VarC": VarC }, cache: false, type: "POST", success: function(response) { }, error: function(xhr) { } });


Aquí está la sintaxis usando jQuery $.get

$.get(url, data, successCallback, datatype)

Entonces en tu caso, eso equivaldría a,

var url = ''ajax.asp''; var data = { ajaxid: 4, UserID: UserID, EmailAddress: EmailAddress }; var datatype = ''jsonp''; function success(response) { // do something here } $.get(''ajax.aspx'', data, success, datatype)

Tenga en cuenta que $.get no le da la oportunidad de configurar un controlador de errores. Pero hay varias maneras de hacerlo, ya sea usando $.ajaxSetup() , $.ajaxError() o encadenando un .fail en su $.get como a continuación

$.get(url, data, success, datatype) .fail(function(){ })

La razón para establecer el tipo de datos como ''jsonp'' se debe a problemas de política de origen del mismo navegador, pero si realiza la solicitud en el mismo dominio donde se aloja su javascript, debería estar bien con el tipo de datos establecido en json .

Si no desea usar jquery $.get , vea los documentos de $.ajax que permiten más flexibilidad


El parámetro de datos del método ajax le permite enviar datos al lado del servidor. En el lado del servidor puede solicitar los datos. Vea el código

var id=5; $.ajax({ type: "get", url: "url of server side script", data:{id:id}, success: function(res){ console.log(res); }, error:function(error) { console.log(error); } });

En el servidor, recíbelo usando la variable $ _GET.

$_GET[''id''];

Aquí puedes obtener un example .


Intenta agregar esto:

$.ajax({ url: "ajax.aspx", type:''get'', data: {ajaxid:4, UserID: UserID , EmailAddress: encodeURIComponent(EmailAddress)}, dataType: ''json'', success: function(response) { //Do Something }, error: function(xhr) { //Do Something to handle error } });

Depende de qué tipo de datos se espera, puede asignar html, json, script, xml


La propiedad de datos le permite enviar una cadena. En su código del lado del servidor, acéptelo como un nombre de argumento de cadena "myVar" y luego puede analizarlo.

$.ajax({ url: "ajax.aspx", data: [myVar = {id: 4, email: ''emailaddress'', myArray: [1, 2, 3]}]; success: function(response) { //Do Something }, error: function(xhr) { //Do Something to handle error } });


Pon tus params en la parte de data de la llamada ajax . Ver los documentos . Al igual que:

$.ajax({ url: "/TestPage.aspx", data: {"first": "Manu","Last":"Sharma"}, success: function(response) { //Do Something }, error: function(xhr) { //Do Something to handle error } });



Tuve el mismo problema cuando especifiqué data pero el navegador enviaba solicitudes a la URL que terminaba con [Object object] .

Debería tener processData establecido en true .

processData: true, // You should comment this out if is false or set to true


Utilice la opción de datos de ajax. Puede enviar objeto de datos al servidor por opción de data en ajax y el type que define cómo lo está enviando (ya sea POST o GET ). El tipo predeterminado es el método GET

Prueba esto

$.ajax({ url: "ajax.aspx", type: "get", //send it through get method data: { ajaxid: 4, UserID: UserID, EmailAddress: EmailAddress }, success: function(response) { //Do Something }, error: function(xhr) { //Do Something to handle error } });

Y puedes obtener los datos por

$_GET[''ajaxid''] //gives 4 $_GET[''UserID''] //gives you the sent userid