0

我正在尝试从页面上的所有文本区域收集信息,然后将该信息放入一个数组中,以便我可以通过 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 
    });

任何帮助,将不胜感激

谢谢

4

3 回答 3

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,让我知道

于 2013-04-26T06:05:54.967 回答
1

你可以参数化它$.param(objectiveList)

jQuery.param()

于 2013-04-25T19:31:26.327 回答
1

我经常使用:

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

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

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

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

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

于 2013-04-26T06:43:12.417 回答