簡體   English   中英

在Rails中使用參數的Jquery Ajax POST請求(Ruby on Rails)

[英]Jquery Ajax POST request with parameters in Rails (Ruby on Rails)

我想在rails應用程序中發出ajax post請求。 但我得到的回應是錯誤的。

Rails代碼: -

def search_exams(myparam1 , myparam2)
   json_data = {:aaData=> [["abc","xyz","lmnop"],["sdf","adsdf","sadfsd"],["sdf","adsdf","sadfsd"]]}.to_json
   respond_to do |format|
     format.json { render :json => json_data }
   end
end

腳本代碼: -

<%= javascript_tag "window._token = '#{form_authenticity_token}'" %>


<script>
$.ajax({
        url:'/home/search_exams',
        type:'POST',
        dataType:'json',
        data:{
            myparam1: "First Param value",
            myparam2: "Second param value",
            authenticity_token: window._token
        },
        success:function(data){
            debugger;
        },
        error:function(data){
            debugger;
        }
    });
  </script>

我收到這個錯誤: -

“HomeController中的ArgumentError#search_exams錯誤的參數數量(0表示2)Rails.root:C:/ Users / ........”

def search_exams

從方法中刪除參數。

當您將帶有params的請求傳遞給Rails控制器時,中間件堆棧會將它們放入params散列中,因此您將得到:

params[:param1]
params[:params2]

-

你還要考慮讓你的JS 不引人注目

#app/assets/javascripts/application.js
$(document).on("action", ".element", function(){
     $.ajax({
        url:'/home/search_exams',
        type:'POST',
        dataType:'json',
        data:{
            myparam1: "First Param value",
            myparam2: "Second param value",
            authenticity_token: window._token
        },
        success:function(data){
            debugger;
        },
        error:function(data){
            debugger;
        }
    });
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM