У меня проблема с обработкой переменных json в javascript.
Проблема возникает, когда я пытаюсь отправить данные в класс php, а затем он должен вернуть 3 переменные, используя JSON, но Firebug + FirePHP сказал мне, что переменная JSON вернулась правильно. Затем, когда я пытаюсь сохранить каждую из них в разных переменных (3 возвращенные переменные json в 3 переменных javascript), я просто получаю первый параметр, а остальные два равны NULL.
Вы можете увидеть в следующем коде JavaScript:
function UpdateContact(ID)
{
// get current Contact data
var full_name,email,mobile;
$.post("/Cards/index.php/Cont/GetContactInfo",{'id' : ID},
function(data){
full_name = data.full_name;
email = data.email;
mobile = data.mobile;
$( "#dialog2-form" ).html(
'<p class="validateTips">All form fields are required.</p>'+
'<form>'+
'<fieldset>'+
'<label for="name">Name</label>'+
'<input type="text" name="Updatefull_name" id="Updatefull_name" class="text ui-widget-content ui-corner-all" value="'+full_name+'" /><br />'+
'<label for="email">Email</label>'+
'<input type="text" name="Updateemail" id="Updateemail" value="" class="text ui-widget-content ui-corner-all" value="'+data.email+'"/><br />'+
'<label for="email">Mobile</label>'+
'<input type="text" name="Updatemobile" id="Updatemobile" value="" class="text ui-widget-content ui-corner-all" value="'+data.mobile+'"/><br />'+
'<input type="hidden" id="UpdateContactID" value="'+ID+'"></fieldset>'+
'</form>'
);
$( "#dialog2-form" ).dialog( "open" );
}, "json");
}
Просто переменная full_name
получает значение, но переменные email
и mobile
не получают никакого значения.
Функция PHP:
function GetContactInfo()
{
$Contact = $this->Contacts->GetContacByID($this->input->post('id'));
$data['full_name'] = $Contact->full_name;
$data['email'] = $Contact->email;
$data['mobile'] = $Contact->mobile;
echo json_encode($data);
}
Примечание. Я использую CodeIgniter PHP Framework на локальном сервере XAMPP