2016-07-19 4 views
0

私はAngularJSスターターです。私はユーザーが新しいページにリダイレクトしようとしています。[更新:全く新しいページです。外部URLになる可能性があります]ユーザーがボタンをクリックしたときのデータです。AngularJS - 新しいURLにデータを送信

jQueryを使用すると、クリックハンドラ関数では、プログラムでフォームを作成してからフィールドを追加し、フォームを新しいURLに送信できます。

var form$ = $('<form></form>').attr('action', 'http://example.com/test').attr('method', 'post'); 
var input$ = $('<input />').attr('type', 'hidden').attr('name', aName).attr('value', aValue); 
form$.append(input$); 
form$.appendTo('body').submit(); 

これを達成するための方法はありますか?

+1

は '新しいpage'を定義し、DOM内の要素を選択するために使用できるセレクタにしかし、より限定されています。角度ルータを使用すると、1つのページアプリ内で無限ルートを使用でき、新しくロードされたルートで使用するためのサービスデータを格納できます。または、これはフォーム 'action'に基づいた完全なページリロードですか? – charlietfl

+0

全く新しいページです。ありがとう。 – thermostat

答えて

0

angular.element()は、jQuery.jsがangular.jsより前のページに含まれている場合、実際には完全なjQueryライブラリを使用するjQueryメソッドのサブセットです。

jQueryをインストールしていない場合は、既に表示されているすべてのメソッドが含まれているため、$angular.elementと置き換えて、同じことをすることができます。

は、それはあなたが

var form$ = angular.element('<form></form>').attr('action', 'http://example.com/test').attr('method', 'post'); 
var input$ = angular.element('<input />').attr('type', 'hidden').attr('name', aName).val(aValue); 
form$.append(input$); 
angular.element(document).find('body').append(form$); 
form$[0].submit(); 
関連する問題