1

我有这个动作,我通过数组格式的帖子获取数据并将其保存到数据库,这部分有效,但我试图通过 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);   
 });
 });

关于发生了什么的任何线索?

4

2 回答 2

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);   
 });
 });
于 2013-09-16T18:43:33.027 回答
0

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

这个:

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

应该是这样的:

        url:"procesar.php",
        data: $('form').serialize(),
于 2013-09-16T18:46:16.943 回答