2017-09-27 4 views
0

私は、ユーザーがチェックボックスをクリックして複数の項目を選択できるAngular 1アプリケーションを持っています。彼は、特定のボタンをクリックすると、これらのIDは、このように集計されています

angular.forEach($scope.orders, function (order, id) { 
    if (order.export) { 
     ids.push(order.id); 
    } 
}); 

今、私は私のPHPのAPIアクションでこれらのIDを照会したいが、どのように私は私のapiActionに、すべてのIDを送信することができますか? $ http.query$scope.items = Items.query({ 'ids' : ids});)で試してみましたが、解析できない奇妙なURLが作成されるため、これはうまくいきません。

$ http.save私はapiの動作にidを転送できますが、結果をフロントエンドに表示するためにアプリケーションに戻す必要もありますが私はいつもorderBy:notarrayエラーが発生するので、$ http.saveを使用すると、これは可能ではないようです。

$http.saveを使用して、適切な配列を取得するにはどうすればよいですか?または、パラメータで複数のIDを持つ配列で$ http.queryを使用しますか?

おかげ

+0

$ htt p.query'と '$ http.save'?私は角の '$ http'文書のようなものは遠隔では見えませんhttps://docs.angularjs.org/api/ng/service/$http –

答えて

1
角度の$ HTTP呼び出しで

...

params: { 
 
    id: JSON.stringify(ids) 
 
    }

+0

ええと、私はこのクエリ結果を得ます:itemsApi?ids = %5B1816,1817%5D var_dump($ ids);私はこの結果を得ます:string(11) "[1816,1817]" だから私はsubstr [と]してから爆発する必要があります。それとも別の解決策がありますか? – Torben

0

あなたは、カンマ区切りの文字列にあなたの配列を変換し、あなたのPHPのAPIにその文字列を渡すと、あなたは、PHPでの配列を取り戻すことができます。まさに `は何例えば、

角度側、

ids.toString() 

PHP側、

explode(",",$query_param); 
関連する問題