1

これは私のJqueryです:

$('#Save').click(function () {
  var realvalues = new Array(); //storing the selected values inside an array

  $('#Privilege :selected').each(function (i, selected) {
    realvalues[i] = $(selected).val();
  });

  $.ajax({
    type: "POST",
    traditional: true,
    url: "http://localhost:8081/crownregency/UpdateOrCreateOrDeleteUser.php",
    data: {
      Privilege: realvalues,
      ID: '1'
    },
    success: function (data) {
      alert(data, 'Status');
      location.reload();
    }
  });
});

これは私のphpです。

私はシリアル化について多くのことを静かに読みましたが、うまくいかないようです。私が達成しようとしているのは、ドロップダウンの選択した項目を配列に送信し、それをajaxを介してphpに送信することです。しかし、配列をphpに送信してもうまくいかないようです。誰か助けて?

4

1 に答える 1

5

あなたのコードは、traditional: trueを削除するだけで問題ありません。コードは機能しているようです

$('#Save').click(function(){

    var realvalues = new Array();//storing the selected values inside an array
    $('#Privilege :selected').each(function(i, selected) {
        realvalues[i] = $(selected).val();
    });

    $.ajax({
        type: "POST",
        url: "http://localhost:8081/crownregency/UpdateOrCreateOrDeleteUser.php",
        data: {Privilege: realvalues, ID: '1'},
        success:function(data){
                $("#subscrres").html(data)
            }
    });
});

HTML

<form method="post">
<select id="Privilege" multiple="multiple">
<option value="yahoo">yahoo</option>
<option value="chrome">chrome</option>
<option value="mozilla">mozilla</option>
</select>
<input type="button" id="Save"/>

</form>

UpdateOrCreateOrDeleteUser.php

<?php
if(isset($_POST['Privilege'])){
$myvar  =$_POST['Privilege'];
foreach($_POST['Privilege'] as $one)
echo $one."<br/>";

}
?>
于 2012-08-31T04:41:49.390 に答える