使用数据从ajax调用传递数组:

时间:2013-08-09 15:28:36

标签: ruby-on-rails ajax ruby-on-rails-3 jquery

$.ajax({
    url : ROOT_PATH + "/requirements/" + req_id + "/edit",
    type : "get", 
    data : "req_info=" + req_info,
    success : function(data) {

        $("#Requirements_div").html(data);
        $("#Requirements_div").show();
        $(".new_req_link").attr("data-a",project_id);

    }
});

如何使用数据传递数组:。我的意思是如果req_info是一个数组呢?

我想使用'data'属性将ajax调用中的数组传递给控制器​​。

编辑:

var arr = new Array();
        $('#Testpoints_div input[type="checkbox"]:checked').each(function() {
            arr.push($(this).text());

        });

$.ajax({
            url : ROOT_PATH + "/requirements/"+req_id+"/edit",
            type : "get", 
            data : {req_info : req_info , checked_boxes: arr},
            success : function(data) {

                alert("success")


            }
        });

控制器代码:

 @checked_boxes = params[:checked_boxes]


    @checked_boxes.each do |checkbox|
      logger.info "checkbox: #{checkbox}"
    end

复选框值为空。

2 个答案:

答案 0 :(得分:0)

将数据作为对象发送:

$.ajax({
    url : ROOT_PATH + "/requirements/" + req_id + "/edit",
    type : "get", 
    data : {req_info : req_info, someVar : variable}
    success : function(data) {
       ....
    }
});

答案 1 :(得分:0)

您可以在$ .ajax调用上将JSON对象传递给data。它将是一个{key:value}对,然后在值中你也可以传递数组。请参阅DOC