简体   繁体   English

使用json作为返回值的Ajax reuquest成功不起作用

[英]Ajax reuquest success with json as return value doesn't work

I have created a datatable where you can add rows if you click the "plus" button. 我创建了一个数据表,如果单击“加号”按钮,可以在其中添加行。 This sends an ajax request to an url with the rowId as a parameter. 这会将一个ajax请求发送到一个url,并将rowId作为参数。 (The rowId is the row where the plus button was pressed.) Then I want to get a json as a return value so that this json updates my datatable with the new row. (rowId是按下加号按钮的行。)然后我想得到一个json作为返回值,以便这个json用新行更新我的数据表。

Here is the problem: My ajax request never reaches the success section even though I see it in the network monitor. 这是问题:即使我在网络监视器中看到它,我的ajax请求也永远不会到达成功部分。 Does anyone know why? 有谁知道为什么?

<table class="table display" id="tabelle_benutzerHead" cellspacing="0" width="100%">
    <thead >
        <tr>
            <th>Uhrzeit</th>
            <th>SpNr</th>
            <th>Platz</th>
            <th>Heimmannschaft</th>
            <th>Gastmannschaft</th>
            <th>Freispiele</th>
        </tr>
    </thead>
    <tbody>
            <tr id="Row1">
                <td>08:00</td>
                <td>134</td>
                <td>Platz 1</td>
                <td>Team 5</td>
                <td>Team 3</td>
                <td><button class="btn btn-default AddDaten" type="button"><i class="glyphicon glyphicon-plus-sign"></i></button></td>
            </tr>
            <tr id="Row2">
                <td>09:00</td>
                <td>76</td>
                <td>Platz 3</td>
                <td>Team 7</td>
                <td>Team 1</td>
                <td><button class="btn btn-default AddDaten" type="button"><i class="glyphicon glyphicon-plus-sign"></i></button></td>
            </tr>
            <tr id="Row3">
                <td>17:30</td>
                <td>45</td>
                <td>Platz 11</td>
                <td>Team 2</td>
                <td>Team 9</td>
                <td><button class="btn btn-default AddDaten" type="button"><i class="glyphicon glyphicon-plus-sign"></i></button></td>
            </tr>
    </tbody>
</table>
var oTable = $('#tabelle_benutzerHead').DataTable({
    responsive: true,
    "bAutoWidth": false,
    "bFilter": false,
    "info": false,
    "scrollCollapse": true,
    "paging": false,
    rowReorder: true
})

oTable.on('row-reorder', function(e, diff, edit) {

    var draggedRow = diff[(diff.length - 1)].node;
    var draggedRowId = $(draggedRow).attr('id');    <!-- dragged and dropped Row -->
    var previousRow = diff[(diff.length - 2)].node;
    var previousRowId = $(previousRow).attr('id');  <!-- the row before the dragged and dropped -->

    $.ajax({
        type: "POST",
        url: "myurl.html",
        data: { 
            draggedRowId,
            previousRowId               
            }
    });                     
});

var uhrzeit;
var spNr;
var platz; 
var heimmannschaft;
var gastmannschaft;

$(function() {

    $('#tabelle_benutzerHead').delegate('button.AddDaten', 'click', function() {
        var row = $(this).closest('tr'); // get the parent row of the clicked button

        var tableRowAppend = '<tr><td>' + uhrzeit + '</td><td>' + spNr + '</td><td>' + platz + '</td><td>'+ heimmannschaft + '</td><td>'+ gastmannschaft + 
                            '</td><td><button class="btn btn-default AddDaten" type="button"><i class="glyphicon glyphicon-plus-sign"></i></button></td></tr>';         

        var rowId = $(row).attr('id'); // clicked RowId

        $.ajax({
            type: "POST",
            url: "myurl.html",
            data: { 
                rowId
            },  
            dataType: 'json',
            contentType: "application/json",
            success: function(data) {
                var dataJson =  [ 
                    "10:30",
                    "77",
                    "Platz 1",
                    "Team 7",
                    "Team 12",
                    "<button class='btn btn-default AddDaten' type='button'><i class='glyphicon glyphicon-plus-sign'></i></button>"
                ];

                $.getJSON(dataJson, function(){             
                    oTable.clear();
                    oTable.rows.add(dataJson);
                    oTable.draw();
                });     
            }
        }); 
    }); 
}); 

.success act as call-back function here. .success在这里充当回调函数。 Are you sending back some thing in response? 你回复了一些东西吗? ie When post to myurl/operationOnData 即发布到myurl/operationOnData

operationOnData(req,res){ // do something here with req, than res.send("Got it!"); }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM