2015-11-05 2 views
0

У меня 2 вопроса:Ajax несколько строк

1. Я получаю Ajax от query.php так:

echo json_encode($records, JSON_UNESCAPED_UNICODE); 

, что дает мне что-то вроде этого:

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

сбрасываемый:

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

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

) 

И все выглядит прекрасно и Ajaxy! но в моем файле PHP я не могу читать:

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

    } 
}) 

Но когда я заменить "[]" в возвращаемом с JSON "",

{"cinfo_id":"26","fullName":"مصطفی کلانتر","phone":"09153040406","mail":"[email protected]","description":"توضیحات مصطفی","jinfo_id":"3","jobTitle":"شرکت","jobName":"مهندسی","city":"تهران"} 

Это получить правильный. В чем проблема?

  1. Как я могу отобразить несколько строк? в возвращаемом массиве json, у меня есть все данные. как:
[{"cinfo_id":"25","fullName":"علی علوی","phone":"123456","mail":"[email protected]","description":"توضیحات علی علوی","jinfo_id":"2","jobTitle":"شرکت","jobName":"گلخانه","city":"مشهد"},{"cinfo_id":"26","fullName":"مصطفی کلانتر","phone":"09153040406","mail":"[email protected]","description":"توضیحات مصطفی","jinfo_id":"3","jobTitle":"شرکت","jobName":"مهندسی","city":"تهران"}]
 
Array 
(
    [0] => Array 
     (
      [cinfo_id] => 25 
      [fullName] => علی علوی 
      [phone] => 123456 
      [mail] => [email protected] 
      [description] => توضیحات علی علوی 
      [jinfo_id] => 2 
      [jobTitle] => شرکت 
      [jobName] => گلخانه 
      [city] => مشهد 
     ) 

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

) 

, но я не знаю, как показать их. Спасибо заранее.

+0

Что AJAX код является JavaScript не PHP. –

ответ

2

Если msg переменная массив объекта, который вы должны получить доступ к нему как массив объектов

$('#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); 
Смежные вопросы