如何通过Javascript将数据作为数组发布到PHP?

时间:2017-11-09 10:32:36

标签: javascript php jquery mysql

JS代码:

$('#addResults').submit(function(e) {
        var user1       = $("#user1").val();
            user2       = $("#user2").val();

        e.preventDefault();
         $.ajax({
             type: "POST",
             async: false,
             url: url,
             data: "form=addResults&user1=" + user1 + "&user2=" + user2
           }).success(function( msg ) {
                  $('.success').css("display", "");
                  $(".success").fadeIn(1000, "linear");
                  $('.success_text').fadeIn("slow");
                  $('.success_text').html(msg);
                  setTimeout(function(){location.reload()},1200);
          });

    });

submit.php

         case 'addResults':
            $positions         = $_POST['positions'];
             $ez->addResults($positions);
         break;

function.php

        function addResults($positions) {

         $this->link->query("INSERT INTO `" . $this->prefix . "result` SET race_id = '$league', event = '$event', involved_id = '$involved',

                    evidence_link = '$evidence', description = '$description', reporter_id = '$name', status = '0'");
         echo 'Results saved';
         return;
    }

我的问题:我想将所有用户数据存储到数组中并将其推送到PHP函数,以便我可以将其插入到数据库中。

类似的东西:

var positions= $("#user1").val(), $("#user2").val();

我不确定如何格式化数据线。

data: "form=addResults&user1=" + user1 + "&user2=" + user2

2 个答案:

答案 0 :(得分:0)

PHP中的

$string = "business_type,cafe|business_type_plural,cafes|sample_tag,couch|business_name,couch cafe";

$finalArray = array();

$asArr = explode( '|', $string );

foreach( $asArr as $val ){
  $tmp = explode( '=', $val );
  $finalArray[ $tmp[0] ] = $tmp[1];
}

print_r( $finalArray );

所以你的JS输出只能是一个字符串:

data: "form=addResults&user1=" + user1 + "|user2=" + user2

答案 1 :(得分:0)

您通过ajax传递的数据似乎是您要发送数据的网址。如果您想通过网址传递数据,则应使用GET方法而不是POST。

此外,您不会在函数中使用传递给$position的{​​{1}}参数,这很奇怪。