用来自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); } 

除非我错过了什么,否则这应该可以做到。 假设您的路由吐出包含result1result2键的数组:

 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 + "
" ; } $("#results div").html(resultStr);

如果您还有其他需要,请告诉我们。