2011-07-21 12 views
8

Estoy tratando de enviar datos a mi script PHP para manejar algunas cosas y generar algunos elementos.Ajax pasando datos al script php

$.ajax({ 
    type: "POST", 
    url: "test.php", 
    data: "album="+ this.title, 
    success: function(response) { 
     content.html(response); 
    } 
}); 

En mi archivo PHP trato de recuperar el nombre del álbum. Aunque cuando validarlo, creé una alerta para mostrar lo que el albumname es no consigo nada, trato de obtener el nombre del álbum de $albumname = $_GET['album'];

A pesar de que va a decir sin definir:/

Respuesta

30

está enviando un AJAX POSTAL solicítelo así que use $albumname = $_POST['album']; en su servidor para obtener el valor. También le recomiendo que escribir la solicitud como esto con el fin de garantizar una correcta codificación:

$.ajax({ 
    type: 'POST', 
    url: 'test.php', 
    data: { album: this.title }, 
    success: function(response) { 
     content.html(response); 
    } 
}); 

o en su forma abreviada:

$.post('test.php', { album: this.title }, function() { 
    content.html(response); 
}); 

y si quería usar una petición GET:

$.ajax({ 
    type: 'GET', 
    url: 'test.php', 
    data: { album: this.title }, 
    success: function(response) { 
     content.html(response); 
    } 
}); 

o en su forma más corta:

$.get('test.php', { album: this.title }, function() { 
    content.html(response); 
}); 

y ahora en su servidor podrá usar $albumname = $_GET['album'];. Sin embargo, ten cuidado con las solicitudes AJAX GET, ya que algunos navegadores pueden almacenarlas en caché. Para evitar el almacenamiento en caché, puede establecer la configuración cache: false.

+0

Gracias esto funcionó para mí usando GET. No pude entender esto: ¡Muchas gracias! – NeedHelp

+0

$ .get ('test.php', {album: this.title} quiero preguntar cómo enviar dos valores –

+1

@ M.chaudhry es posible que ya hayas encontrado esto, pero para lectores futuros, este es [JSON] (http://en.wikipedia.org/wiki/JSON), así que para enviar valores múltiples, simplemente agrega otro con una coma como: '$ .get ('test.php', {album: this.title, canción: that.title}); ' – Ian

9

intente enviar los datos de la siguiente manera:

var data = {}; 
data.album = this.title; 

A continuación, se puede acceder a ella como

$_POST['album'] 

Aviso No es un 'GET'

2

También puede usar el código de abajo para los datos de pase usando ajax.

var dataString = "album" + title; 
$.ajax({ 
    type: 'POST', 
    url: 'test.php', 
    data: dataString, 
    success: function(response) { 
     content.html(response); 
    } 
}); 
Cuestiones relacionadas