Maarten Kuijper Maarten Kuijper - 1 year ago 36
Ajax Question

Ajax dataType Json, can't get my data to be send correctly.

In my frame I have this working ajax request, 'reorder_rows' triggers a function which echo's 'function reached!'.

var data = {};
data['reorder_rows'] = 'test';
data['token'] = $('input[name="token"]').val(); //req to pass

$.ajax({
url:'',
method:'post',
data:data,
}).done(function(data){
console.log(data);
});

//php
public function newRowOrder(){
echo 'function reached!';
}


But when I try sending more data using json datatype I'm not getting a response anymore, after checking for what went wrong $_POST['reorder_rows'] & ['token'] doesn't seem to be set. Basically the call triggers nothing. What I was trying to do is the following:

var new_order = [];

$('.sortable').children().each(function(i){
new_order.push({
'id':$(this).data('id'),
'val':parseInt($(this).find('.overview-number').val()),
});
});

var data = {
'reorder_rows': new_order,
'token': $('input[name="token"]').val(),
};

$.ajax({
url:'',
method:'post',
dataType: 'json',
data:data,
}).done(function(data){
console.log(data);
});


All I need to go on is to get the post var 'reorder_rows' to be set properly, but honestly the code above smells a bit fishy to me.. objects into and array into an object?

I've used Json before and the sending/receiving went fine, including all the encoding/decoding stuff. But it didn't involve such data arrays. Here is a working example...

data['id'] = $('#id').val(); //used to exclude current item in double checks
data['form_checks'] = "";
data['token'] = $('input[name="token"]').val();

$.ajax({
url:'',
method:'post',
dataType:'json',
data:data,
success: function(data){
//stuff here is being done
}
});


Anyone knows how I can send the data from my overview rows? I need each row's ID and (old) order number. The rows are already ordered in the html when my function triggers

Answer Source

Use json_encode() in the PHP code to return JSON:

public function newRowOrder() {
    echo json_encode("function reached!");
}
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download