通过ajax(JQuery)将对象数组发送到服务器

时间:2013-08-20 11:22:24

标签: javascript jquery ajax

我从html表中检索了一系列条目。

  

E.g。 (1,123),(1,234),(2,134)......等

我想通过JQuery ajax调用发送到服务器,但我不知道如何创建相应的json调用。
我怎样才能做到这一点?

我不知道如何形成数组。 我知道我应该使用类似的东西:

$.ajax({
  url: 'path/getdetails.html',
   data : {
       'a'     : value,
       'b'    : value,                                                                                                                                      
    }, 
    type: 'POST',
    dataType: 'json',

2 个答案:

答案 0 :(得分:2)

这是我的表

<table id="students" border="1">
    <thead>
        <tr>
            <th>Name</th>
            <th>Age</th>
            <th>Grade</th>
        </tr>
    </thead>
    <tbody>
        <tr class="student">
            <td>Oscar</td>
            <td>23</td>
            <td>16.5</td>        
        </tr>
        <tr class="student">
            <td>Antonio</td>
            <td>32</td>
            <td>14</td>        
        </tr>
        <tr class="student">
            <td>Jessica</td>
            <td>21</td>
            <td>19</td>        
        </tr>
    </tbody>
</table>​​​​​​

我的java脚本看起来像这样

     function send() {
            var value = $('#students tr:has(td)').map(function(i, v) {
    var $td =  $('td', this);
        return {
                 id: ++i,
                 name: $td.eq(0).text(),
                 age: $td.eq(1).text(),
                 grade: $td.eq(2).text()               
               }
}).get();
            $.ajax({
                url: '/test/PersonSubmit',
                type: 'post',
                dataType: 'json',
                data:JSON.stringify(values),
                success: function (data) {
                    $('#target').html(data.msg);
                },

            });
        }  

希望这会对你有所帮助

答案 1 :(得分:1)

假设你的对象数组

var postData =  [{"key1": 123}, {"key2": 234}, {"key3": 134}]

在您的ajax通话中使用JSON.stringify表示application/json的数据和内容类型。

喜欢这个

contentType: 'application/json'
data: JSON.stringify(postData)

希望有所帮助:)