用来自jquery ajax post request到服务器的数据填充div
我的视图中有一个jquery函数,它向服务器发送一个请求:
jQuery(function ($) { $(document).ready(function() { var form = $('form'); form.submit(function(e){ e.preventDefault(); $.ajax({ url: form.prop('action'), type: 'post', dataType: 'json', data: form.serialize(), success: function(data) { console.log(data); } }) }); }); });
该路径吐出一个对象数组:
Route::post('modelsearch', function () { $brand_id = Input::get('brand_id'); $size_id = Input::get('size_id'); $models = DB::table('pants_models') ->where('brand_id', '=', $brand_id) ->Where('size_id', '=', $size_id) ->get(); return Response()->json(array($models)); });
我想操纵返回的数组并将html发布到视图中的#results div
。 你如何在回调成功函数中做到这一点? 我似乎无法找到答案。
不确定你在问什么。 您可以在js成功调用中正确操作数据。
success: function(data) { //data contains the response from the route. So manipulate the result here and append them to the #results div. var html = ''; for(obj in data){ //Do stuff to build html } $('#result div').append(html); }
除非我错过了什么,否则这应该可以做到。 假设您的路由吐出包含result1
和result2
键的数组:
success: function(data) { $('#results').append( 'Result 1: '+data['result1']+'
Result 2: '+data['result2']+'
'; ); }
如果要将数据显示到div中,则使用该数据创建一个字符串,并将该数据附加到#results div中:
var obj = JSON.parse(data); var resultStr = ""; for(var i=0; i" + obj[i].column_name + "
如果您还有其他需要,请告诉我们。