Ajax多行

I have 2 questions:

1. I get my Ajax from query.php like this:

echo json_encode($records, JSON_UNESCAPED_UNICODE);

which gives me something like this:

[{"cinfo_id":"25","fullName":"علی علوی","phone":"123456","mail":"a@a.com","description":"توضیحات علی علوی","jinfo_id":"2","jobTitle":"شرکت","jobName":"گلخانه","city":"مشهد"},{"cinfo_id":"26","fullName":"مصطفی کلانتر","phone":"09153040406","mail":"M.Mastersoft@gmail.com","description":"توضیحات مصطفی","jinfo_id":"3","jobTitle":"شرکت","jobName":"مهندسی","city":"تهران"}]

the dumped one is this:

Array
(
    [0] => Array
        (
            [cinfo_id] => 25
            [fullName] => علی علوی
            [phone] => 123456
            [mail] => a@a.com
            [description] => توضیحات علی علوی
            [jinfo_id] => 2
            [jobTitle] => شرکت
            [jobName] => گلخانه
            [city] => مشهد
        )

    [1] => Array
        (
            [cinfo_id] => 26
            [fullName] => مصطفی کلانتر
            [phone] => 09153040406
            [mail] => M.Mastersoft@gmail.com
            [description] => توضیحات مصطفی
            [jinfo_id] => 3
            [jobTitle] => شرکت
            [jobName] => مهندسی
            [city] => تهران
        )

)

And everything looks fine and Ajaxy! but in my php file i cannot read it:

var key = {
    'command': 'search',
    'data': $("#inputsearch").val()
};
$.ajax({
    type: 'POST',
    url: 'query2.php',
    data: key,
    dataType: 'json',
    success: function (msg) {

        $('#jobtitle').html(msg.jobTitle);
        $('#jobname').html(msg.jobName);
        $('#fullname').html(msg.fullName);
        $('#phone').html(msg.phone);
        $('#mail').html(msg.mail);
        $('#city').html(msg.city);
        $('#description').html(msg.description);

    }
})

But when i replace "[]" in the returned json with "",

{"cinfo_id":"26","fullName":"مصطفی کلانتر","phone":"09153040406","mail":"M.Mastersoft@gmail.com","description":"توضیحات مصطفی","jinfo_id":"3","jobTitle":"شرکت","jobName":"مهندسی","city":"تهران"}

It get correct. What is the problem?

  1. how can i display more than one row? in returned json array, I have all data. like:
[{"cinfo_id":"25","fullName":"علی علوی","phone":"123456","mail":"a@a.com","description":"توضیحات علی علوی","jinfo_id":"2","jobTitle":"شرکت","jobName":"گلخانه","city":"مشهد"},{"cinfo_id":"26","fullName":"مصطفی کلانتر","phone":"09153040406","mail":"M.Mastersoft@gmail.com","description":"توضیحات مصطفی","jinfo_id":"3","jobTitle":"شرکت","jobName":"مهندسی","city":"تهران"}]
Array
(
    [0] => Array
        (
            [cinfo_id] => 25
            [fullName] => علی علوی
            [phone] => 123456
            [mail] => a@a.com
            [description] => توضیحات علی علوی
            [jinfo_id] => 2
            [jobTitle] => شرکت
            [jobName] => گلخانه
            [city] => مشهد
        )

    [1] => Array
        (
            [cinfo_id] => 26
            [fullName] => مصطفی کلانتر
            [phone] => 09153040406
            [mail] => M.Mastersoft@gmail.com
            [description] => توضیحات مصطفی
            [jinfo_id] => 3
            [jobTitle] => شرکت
            [jobName] => مهندسی
            [city] => تهران
        )

)

but I don't know how to show them. Thanks in advance.

If your msg variable is array of object you should access it as an array of objects

$('#jobtitle').html(msg[0].jobTitle);
$('#jobname').html(msg[0].jobName);
$('#fullname').html(msg[0].fullName);
$('#phone').html(msg[0].phone);
$('#mail').html(msg[0].mail);
$('#city').html(msg[0].city);
$('#description').html(msg[0].description);