2016-05-14 5 views
0

私はPHPの配列に配列を投稿するには、角度$ httpを使用しています。しかし、PHPスクリプトは、配列から$ http postで返す値を1つだけ取得しています。

角度フォームコントローラ:

form.strategyData = { 
    mailData : { 
     strategies : ['test1','test2'] 
    }, 
    sent : false 
} 


form.processStrategy = function() { 

    $http({ 
     method : 'POST', 
     url  : '/sform', 
     data : $httpParamSerializer(form.strategyData.mailData), 
     headers : { 'Content-Type': 'application/x-www-form-urlencoded' } 
    }) 

    .success(function(data) { 
     console.log('success') 
    }); 

}; 

PHPスクリプト:

$strategies = $_POST['strategies']; 
$message .= "Strategies: " . $strategies; 

私は内部に2つのテスト値[ 'TEST1'、 'TEST2']を参照して行うにconsole.logを使用する場合MAILDATA

インサイドPHP私はあなたが$ HTT呼び出すと

+1

あなたは配列としてあなたのダンプ内のすべての値を持っている場合は、この行を更新し

$message .= "Strategies: " . $strategies; 

$ httpParamSerializerJQLikeこれを試してみてください –

答えて

1

をTEST2される最後の値を取得しますpParamSerializer(form.strategyData.mailData)サーバーに送信するデータは "strateg = test1 & strategies = test2"になります。それは結果が "test2"になるPHPの内部の理由です。

0

あなたのPHPスクリプトでvar_dump($strategies);を試してください。

$message .= "Strategies: " . implode(" ", $strategies); 
関連する問題