2015-07-21 37 views
1

數據填充的div我有我的觀點一個jQuery功能發佈到服務器的請求:與jQuery的AJAX POST請求到服務器

<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。 你如何在回調成功函數中做到這一點?我似乎無法找到答案。

回答

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

這應該做的伎倆,除非我錯過了什麼。假設你的路線吐出含result1result2鍵的數組:

success: function(data) 
{ 
    $('#results').append(
     '<p>Result 1: '+data['result1']+'</p><p>Result 2: '+data['result2']+'</p>'; 
    ); 
} 
0

如果你要顯示的數據爲DIV然後利用這些數據創建一個字符串,並將該數據追加到#results格爲:

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

如果還有其他你想要的,請告訴我們。

+0

我正在試着此代碼。我得到「Uncaught SyntaxError:Unexpected token o」,這應該表示json被解析兩次。所以我修改了這行'var obj = JSON.parse(data);'到'var obj =(data);'但是在我的div裏仍然看不到任何結果,除非我試圖訪問錯誤中的數據我還修改了對'return Response() - > json((models));'的響應,這樣它就可以代替一個對象數組,將每個對象都作爲關聯數組吐出來, obj [i] .name' – Chriz74

+0

我終於能夠使用此代碼打印數據:'成功:功能(數據) { var obj =(data); console.log(obj); var resultStr =「」; (var i = 0; i " + obj[i].column_name + "

」; } console.log(resultStr); $(「#results」)。html(resultStr); }' – Chriz74

+0

「#result div」沒有工作,「#result」工作 – Chriz74