-4

Java Web アプリと別の Rails Web アプリを使用しています。Java から Rails アプリへの jquery ajax リクエストを作成する必要があります。これを行う方法。

私はこれをjqueryで試しました

  $.ajax({
            type: "POST",           
            url:"someurl",              
            cache:false,
            success: function(data) {
                //alert here
                }

レールからのこの ajax リクエストに応答するにはどうすればよいですか? 上記のコードは正しいですか?

レールでは、

def index
   @var1 = "myname"
   respond_to do |format|
    format.js{}
   end
end

index.js.erb では、

 alert(@var1);

コンソールで、

index.js.erb のレンダリング (0.2ms) 26ms で 200 OK を完了 (ビュー: 6.2ms | ActiveRecord: 0.1ms)

4

4 に答える 4

1

問題は、クロスドメインで Ajax が機能しないことでした。Java は 1 つのドメインでホストされ、Rails は別のドメインでホストされています...それが私の場合の問題でした。

現在はJava側自体でAjaxを扱っています。正常に動作します。

于 2013-07-21T03:11:09.873 に答える
1

通常、jquery post で実行できます。

例えば:-

$.post( yourURL, {data:data}, function(response){});

yourURL は、rake ルートによってチェックされる Rails アプリのコントローラー メソッドのいずれかへの有効な URL である必要がある URL になります。

次に、コントローラーでアクションを作成できます。インデックス コントローラーの「your_method」に投稿するとします。

action は js として応答する必要があります。例えば:-

インデックスコントローラー定義で

def your_method

   #your code here

   respond_to do |format|
     format.js{}
   end
end

アクションの js.erb ファイルを 1 つ作成します。ajax からメソッドに正しく投稿すると、何らかの応答が返されます。jquery 投稿の応答値でそれをキャプチャします。必要な変更を加えます。

これがあなたを助けることを願っています。

于 2013-07-03T11:30:52.150 に答える