把这个PHP动作放在AJAX中

时间:2013-09-16 18:38:12

标签: php ajax arrays

我有这个动作,我通过数据格式的邮件获取数据并将其保存到数据库,这部分工作但我试图通过ajax,我认为我有问题从表单获取数据或可能发送数据到我的PHP脚本。

<?php
  $elegido = $_POST['producto'];
  if(empty($elegido))  {
    echo("No has seleccionado suficientes productos");
  } 
  else  {
    $N = count($elegido);
    for($i=0; $i < $N; $i++)  {
    $elegidos =  $elegido[$i];
    $conn=mysql_connect('localhost', 'user', 'pass');
    mysql_select_db("database",$conn);
    $query = "INSERT INTO table (column)";
    $query .= "VALUES ('".$elegidos."')";
    mysql_query($query) or die("Error sending data.<br>");   
  }
 echo("Los datos fueron enviados correctamente, ¡gracias por participar!");
}
?>

我实现了这个但它不起作用

jQuery(function($) { 
$("#enviar").click(function(e) {
    e.preventDefault();
        var opciones = {
            method:"post",
            url:"procesar.php",
            producto = [];
            data:{
                data: {producto:producto},
            },
            success:function(result){
                $("body .mensaje").remove();
                if(result=="exito"){
                    $("body").append("<div class='mensaje'>Datos Enviados!</div>");
                }else{
                    $("body").append("<div class='error'>ERROR</div>");
                }   
            }   
        };
    $.ajax(opciones);   
 });
 });
关于最新情况的任何线索?

2 个答案:

答案 0 :(得分:1)

data应该是这样的:

// data: { name: "John", location: "Boston" }

jQuery(function($) { 
$("#enviar").click(function(e) {
    e.preventDefault();
        var opciones = {
            method:"post",
            url:"procesar.php",
            producto = [],
            data:{ producto: producto }, // 'producto' will be an empty array, as you defined above.
            },
            success:function(result){
                $("body .mensaje").remove();
                if(result=="exito"){
                    $("body").append("<div class='mensaje'>Datos Enviados!</div>");
                }else{
                    $("body").append("<div class='error'>ERROR</div>");
                }   
            }   
        };
    $.ajax(opciones);   
 });
 });

答案 1 :(得分:0)

您有语法错误(producto = [];的整行),并且您没有将表单中的变量发送到php脚本。

此:

        url:"procesar.php",
        producto = [];
        data:{
            data: {producto:producto},
        },

应该是这样的:

        url:"procesar.php",
        data: $('form').serialize(),