繁体   English   中英

使用Laravel 4以HTML显示JSON数据

[英]Display JSON Data in HTML using Laravel 4

请帮助我解决将JSON数据显示到视图中的问题。

我的脚本是:

 $('#supplierId').change(function(){
 $.get("{{ url('api/dropdown')}}", 
    { option: $(this).val() }, 
    function(data) {
      var firstnameID = $('#firstnameID');
      $.each(data, function(index, element) {   
          firstnameID.val(element.first_name);
     });
  });
});

而我的JSON答复是:

{"id":7,"first_name":"John","last_name":"Doe"}

事情是当我试图:

alert(element.first_name);

它说未定义,但是当我:

alert(element);

它给了我Doe的姓氏值。.我的问题是我该如何访问其他值,如ID和名字。

编辑:

这是我的路线:

Route::get('api/dropdown', function(){
$input = Input::get('option');
$supllier = Supplier::find($input);
returnResponse::json($supllier->select(array('id','first_name','last_name'))
    ->find($input));
});

请帮助我,这是我第一次使用JSON,因此我对此有点困惑。

最好的问候-Melvn

你为什么要使用每个? 这应该工作:

$('#supplierId').change(function(){
 $.get("{{ url('api/dropdown')}}", 
    { option: $(this).val() }, 
    function(data) {
      var firstnameID = $('#firstnameID');

          firstnameID.val(data.first_name);

  });
});

好的,尝试一下。

明确指出,使用get()dataType选项,您希望从服务器返回的是JSON。

$('#supplierId').change(function()
{
  $.get("{{ url('api/dropdown')}}", 
    { option: $(this).val() }, 
    function(data) 
    {
      var firstnameID = $('#firstnameID');
      $.each(data, function(index, element) 
      {   
        firstnameID.val(element.first_name);
      });
    },
    'json' // <<< this is the dataType
  );
});

现在,您应该可以使用点语法访问数据了:

console.log("last_name: " + element.last_name);
console.log("first_name: " + element.first_name);
console.log("id: " + element.id);

我还要添加几行,只是为了检查您是否正在恢复想要看到的内容:

console.log("NEW ELEMENT"); // << indicator in the console for your reference
console.log(element); // << the whole "element"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM