0

複数の配列をスクリプトに渡そうとしています。そこから、これらの配列値をデータベースに挿入します。これらBranches_Control.phpの配列値を PHP 変数に保存してからモデルに渡し、その PHP 配列変数をループして DB に挿入します。

これは私のAJAXリクエストです:

var finalplaces = [];
var finallongArr = [];
var finallatArr = [];
var finalphone = [];
var finalcompanyName = [];

for (var i = 0; i < places.length; i++) {
    if (finalplaces[i] != null) {
        finalplaces[i].push(places[i])
        finallongArr[i].push(longitudeArr[i]);
        finallatArr[i].push(latitudeArr[i]);    
        finalphone[i].push(phone[i]);
        finalcompanyName[i].push(companyName[i]);
    }
}

$.ajax({
    type: 'POST',
    url: "Branches_Control.php",
    data: "Places=" + finalplaces +
            "&longitudeArr=" + finallongArr +
            "&latitudeArr=" + finallatArr +
            "&phones=" + finalphone +
            "&companyNames=" + finalcompanyName,
    success: function(data) {
        alert(data + "Succese");
        document.getElementById("asd").innerHTML = data;
    }
});

Branches_Control.php でやろうとしていること

$places = $_POST['Places'];
echo $places[0];

これが機能しない理由を誰か教えてもらえますか?

4

2 に答える 2

2

あなたのエラーはここにあります:

   data: "Places=" + finalplaces +
            "&longitudeArr=" + finallongArr +
            "&latitudeArr=" + finallatArr +
            "&phones=" + finalphone +
            "&companyNames=" + finalcompanyName,

データを文字列として送信する場合は、これらの配列を文字列化する必要があります。例:

"&longitudeArr=" +JSON.stringify(finallongArr )

サーバー側では、json デコードを行う必要があります。

 $longitudeArr= json_decode($_POST['longitudeArr'])

または、より簡単に jquery パワーを使用すると、データをオブジェクトとして渡すことができます。

data:{longitudeArr:finallongArr ,  latitudeArr: finallatArr , phones: finalphone .....}

この最後の方法の利点は、php サイトですぐに配列を取得できることです。

$longitudeArr= $_POST['longitudeArr'] //this is an array

試す。

于 2012-05-26T12:06:55.173 に答える
1

あなたのコードでは:

var finalplaces = [];
for (var i = 0; i < places.length; i++) {
    if (finalplaces[i] != null) {
        finalplaces[i].push(places[i])
    }
}

配列が空であるために条件を設定if (finalplaces[i] != null)することはできないtrueため、配列にデータを入力することはありません。
私はあなたがテストを逆にしたいと思います:if (finalplaces[i] == null)

于 2012-05-26T11:58:34.143 に答える