创建一个数组并发送到ajax

时间:2013-04-25 19:29:18

标签: json jquery

我正在尝试从我页面上的所有textareas收集信息,然后将这些信息放入一个数组中,以便我可以通过ajax / json发送到服务器。

虽然我不太清楚如何去做。

我不确定如何从

中提取我需要的信息

这是我到目前为止所做的:

我的HTML示例

 "<textarea id='tbObjective_" + counter + "' name='txtObjective' class='objectives' sequence='" + counter + "'></textarea>" 

jQuery的:

    var objectiveList = [];
    $('.objectives').each(function (objective) {
        objectiveList.push({
            id: objective.id,
            sequence: objective.sequence,
            text: objective.val()
        });
    });

    $.ajax({
        type: "POST",
        url: url,
        dataType: "json",
        data: objectiveList 
    });

任何帮助将不胜感激

由于

3 个答案:

答案 0 :(得分:2)

您可以继续以下步骤。我已经将python django和html5用于此目的

1. make a text box which is hidden and after generating  your json document set it in this text box (suppose id of textbox is "submit_json") than  use
$("#submit_json").val(JSON.stringify(formData, null, '\t')),  // (formData, null, '\t') this is js function that i have written for the ourpose

data = JSON.stringify({"jsonDoc":Generated JSON})

console.log(data);
$.ajax({

url: 'http://127.0.0.1:8000/catchjson/',
type: 'POST',
async: false,
contentType: 'application/json',
data: data,
dataType: 'json',
processData: false,
success: function(data){
alert('Done')
//Goto Next Page

},

error: function(jqXHR, textStatus, errorThrown){
alert("Some Error!")
}
})

现在在服务器上你可以抓住这个json如果你有问题从你的文本框创建json让我知道

答案 1 :(得分:1)

您可以使用$.param(objectiveList)

对其进行参数化

请参阅jQuery.param()

答案 2 :(得分:1)

我经常使用:

var formData = $("form").serialize();

通过ajax发布数据,所以也许你可以试试:

var textareaData = $(".objectives").serialize();

$.ajax({
    type: "POST",
    url: url,
    dataType: "json",
    data: textareaData
});

或者确保所有字段都在表单元素中并使用第一个示例。