2017-04-26 5 views
1

私はjavascriptからJoomla 3.xのPHPファイルに配列を送ろうとしています。配列をJoomla 3.xのPOSTでjavascriptからPHPに送ってください

var options = ['foo', 'bar']; 

$.post('index.php?option=component&view=componentview&Itemid=123&tmpl=component&layout=xlsx', {'xlsx_options': options}) 

次に、xlsxファイルをダウンロードするためのデータを作成するphpファイルがあります。しかし、私はこのオプション配列でフィルタリングする必要があり、Imはそれを取得することができません。私はこれを成功なしに試しました。

$xlsx = $_POST['xlsx_options']; 
$xlsx = json_decode($_POST['xlsx_options'], true); 
$xlsx = JFactory::getApplication()->input->get('xlsx_options'); 

助けが必要ですか?ありがとう!

答えて

1
$j.ajaxSetup({ 
    contentType: "application/json; charset=utf-8" 
}); 
var options = ['foo', 'bar']; 
$j.post('index.php?option=component&view=componentview&Itemid=123&tmpl=component&layout=xlsx', JSON.stringify({'xlsx_options': options})); 

私は、JSONペイロードを送信しているあなたのAjaxリクエストのすべてではない場合は、必要に応じて希望がajaxSetupを行うためになることを知りません。可能であれば、$ .ajaxを使用して投稿リクエストを送信し、そこにデータタイプを指定することができます(下記参照)

$.ajax({ 
    url: 'index.php?option=component&view=componentview&Itemid=123&tmpl=component&layout=xlsx', 
    type:"POST", 
    data: JSON.stringify({'xlsx_options': options}), 
    contentType:"application/json; charset=utf-8", 
    dataType:"json", 
    success: function(){ 
    ... 
    } 
}) 
+0

このソリューションがうまくいけば教えてください。ありがとう! – Woodrow

関連する問題