我试图对控制器进行ajax调用以保存数据,但它在网络中显示错误。 我的jquery是:
$('document').ready(function(){
$('#getype th button').click(function(e){
e.preventDefault();
var a = $(this).val();
var b = $(this).text();
$.get("{{url('gettypes')}}",{id:a}, function(data){
$('#sample').empty();
for (var i = 0; i < data.length; i++) {
drawRow(data[i]);
}
function drawRow(rowData) {
var row = $("<th />")
row.empty();
$("#sample").append(row);
row.append($("<button id='type' class='btn btn-info' value='"+ rowData.ty_id +"'>" + rowData.ty_name + "</button>"));
}
$('#sample button').on('click', function(e){
e.preventDefault();
var c= $(this).val();
var d = $(this).text();
$.get("{{url('getdish')}}", {id:c},function(data){
$('#dishes').empty();
for (var i = 0; i < data.length; i++) {
drawRow(data[i]);
}
function drawRow(rowData) {
var row = $("<th />")
row.empty();
$("#dishes").append(row);
row.append($("<button id='dish' class='btn' value='"+ rowData.item_id +"'>" + rowData.item_name + "</button>"));
}
$('#dishes button').click(function(){
var e = $(this).val();
var f = $(this).text();
$.post("{{url('postdata')}}", {cname:b,cid:a,tname:d,tid:c,did:e,dname:f}, function(data){
console.log(data);
});
});
});
});
});
});
});
我的路线:Route::post('postdata','OrdertController@postdata');
和我的控制器:
public function postdata(Request $request)
{
$data = $request->all();
echo $data;
}
我和阿贾克斯都是新手,问题到底是什么?? 谢谢。
首先,欢迎来到拉拉维尔!
您需要尝试将其更改为 laravel 转储方法:
public function postdata(Request $request)
{
$data = $request->all();
{{ dump($data) }}
//return $data;
}
我认为问题在于您使用函数的方式,Laravel中的大多数函数都需要返回数据,您正在尝试回显$data。
如果您尝试{{ dump($data) }}
(这将回显变量中的所有数据),它将显示所有$data
,之后您可以注释掉return $data;
。
希望这有效!
更多信息请访问: https://laravel.com/docs/5.2/controllers