[英]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.