我的视图中有一个jquery函数,它向服务器发送请求:
<script type="text/javascript">
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);
}
})
});
});
});
</script>
路线吐出一系列物体:
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
。
你如何在回调成功函数中做到这一点?我似乎无法找到答案。
答案 0 :(得分:1)
不确定你在问什么。您可以在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);
}
答案 1 :(得分:1)
result1
和result2
键的数组:
success: function(data)
{
$('#results').append(
'<p>Result 1: '+data['result1']+'</p><p>Result 2: '+data['result2']+'</p>';
);
}
答案 2 :(得分:0)
如果要将数据显示到div中,请使用该数据创建一个字符串,并将该数据附加到#results div中:
var obj = JSON.parse(data);
var resultStr = "";
for(var i=0; i<obj.length; i++){
resultStr = resultStr + "<div>" + obj[i].column_name + "</div>" ;
}
$("#results div").html(resultStr);
如果您还有其他任何需要,请告诉我们。