2017-05-22 51 views
0

在我的框架中,我有这个工作ajax请求,'reorder_rows'触发一个函数,该函数返回的'功能达到!'。Ajax dataType Json,无法让我的数据正确发送。

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!'; 
} 

但是当我尝试使用JSON数据类型我没有得到响应了发送更多的数据,检查后什么地方出了错$ _ POST [“reorder_rows”] & [“令牌”]似乎并没有被设置。基本上这个调用什么也不触发。我试图做的是以下几点:

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); 
}); 

我需要去是为了得到这个职位VAR“reorder_rows”被正确设置,但老实说,上面的代码闻起来有点腥我..将对象放入并排列成一个对象?

我已经使用Json之前,发送/接收都很好,包括所有的编码/解码的东西。但它没有涉及这样的数据阵列。这里是一个工作示例...

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 
    } 
}); 

任何人都知道我可以如何从我的概览行发送数据?我需要每行的ID和(旧)订单号。该行已经下令在HTML,当我的函数触发

回答

1

使用json_encode()在PHP代码返回JSON:

public function newRowOrder() { 
    echo json_encode("function reached!"); 
} 
+0

我希望它是那么容易:(但可悲的是,从未达到的功能。 $ _POST vars'reorder_rows'&'token'没有设置,但事实上,在我忘记之前需要做到这一点! –

+0

您使用的是什么版本的jQuery?在1.9.0版本中添加了'method:'选项,在此之前它被称为'type:'。 – Barmar

+0

读取'$ _POST'变量与返回JSON有什么关系? – Barmar