2013-09-07 3 views
0

Я не могу вставлять значение JSON в элемент ввода в моей разметке. Любые иды? Я проверил, что вызов .ajax возвращает правильный JSON. Вероятно, это что-то простое, но я просто не могу заставить его работать. Благодаря!Заполнение значения json в разметке

HTML

<!DOCTYPE html> 

<html> 
<head> 
    <meta name="viewport" content="width=device-width" /> 
    <title>Index</title> 
    <script src="~/Scripts/jquery-2.0.3.min.js"></script> 
</head> 
<body> 
    <div> 
     <form> 
      <fieldset> 
       <legend>The Person</legend> 
        <label>Name: </label> 
        <input id="Name"/> 
        <label>Age: </label> 
        <input id="Age" /> 

      </fieldset> 

     </form> 
    </div> 
    <script type="text/javascript" src="~/Scripts/Custom.js"></script> 
</body> 
</html> 

Javascript

$(document).ready(function() { 
    $.ajax({ 
     url: '/Home/GetPerson', 
     type: 'GET', 
     success: function (result) { 
      alert(JSON.stringify(result)); 
      $('#Name').val(result[0].FirstName); 
     } 
    }); 
}); 

JSON.stringify возвращает

{"FirstName": "Steve", "LastName": "Smith"} 
+1

Что такое «результат»? –

+0

его тип объекта. JSON: {«FirstName»: «Steve», «LastName»: «Smith»} –

+1

Вы пробовали '$ ('# Name'). Val (result.FirstName);'? –

ответ

5

JSON является {"FirstName": "Steve", "LastName": "Smith"}

Удалите [0] из result[0].FirstName:

$('#Name').val(result.FirstName); 

[0] часть была бы применима только если result был массив объектов и вы хотите первый элемент, например, если ваш JSON было что-то вроде этого:

[{"FirstName": "Steve", "LastName": "Smith"}, {"FirstName": "Mary", "LastName": "Jones"}] 
+0

Вот и все ... Спасибо. –

+1

Вы, сэр, заслуживаете моего +1, потому что вы действительно пытаетесь воспитывать здесь! –

+1

@RienNeVaPlus Да, его цель всегда такова. – undefined