Получение массива jQuery из php json_encode

Я создал массив в php. Я просто хочу получить данные в jquery

вот массив в support.php:

$postData = array( "error" => $error, "successInfo" => $successInfo, "email" => $_POST["email"], "subject" => $_POST["subject"], "description" => $_POST["description"], ); echo json_encode($postData); 

Что мне делать с javascript, используя jquery.getJSON?

Заранее спасибо!

Вы можете получить доступ к массиву таким образом

 $.ajax({ type: 'POST', url: 'support.php', success: function(result) { $('#content1').html(result[0]); }, }); 

Это зависит от того, что вы хотите делать с ним, но это основной способ доступа к клавишам элементов. Вы можете просто использовать оператор точки для каждого ключа элемента: «data.email» и т. Д.

 $.ajax({ type: 'POST', url: 'support.php', success: function(result) { var data = jQuery.parseJSON(result); alert(data.email); } }); 

ВСТАВИТЬ В HTML-ЭЛЕМЕНТ:

Я создал div с id = "landingPad" и поменял строку предупреждения:

 $('#landingPad').html(data.email); 

СДЕЛАТЬ СПИСОК ДАННЫХ, ПОЛУЧЕННЫХ:

Затем я поменял свой div на неупорядоченный список:

 <ul id="landingPad"></ul> 

После изменения функции успеха он перечислил все данные, полученные из файла support.php:

 $(document).ready(function(){ $.ajax({ type: 'POST', url: 'support.php', success: function(result) { var data = jQuery.parseJSON(result); $.each(data, function(index, value) { $("#landingPad").append("<li>" + value + "</li>"); }); } }); }); 

СОЗДАТЬ ЭЛЕМЕНТЫ ФОРМЫ С ДАННЫМИ AJAX:

Затем я создал следующую форму:

 <form name="http://example.com/edit_my_values" action="post"> <div id="landingPad"></div> <input type="submit" name="go" value="Edit Values"/> </form> 

Затем, отредактировав AJAX, я создал форму «на лету» с полученными значениями:

 $(document).ready(function(){ $.ajax({ type: 'POST', url: 'support.php', success: function(result) { var data = jQuery.parseJSON(result); $.each(data, function(index, value) { $("#landingPad").append('<input type="input" name="'+index+'" value="'+value+'"/><br/>'); }); } }); }); 

ВСТАВИТЬ ДАННЫЕ В СУЩЕСТВУЮЩУЮ ФОРМУ:

Учитывая следующую форму:

 <form name="http://example.com/edit_my_values" action="post"> <label for="error">Error </label><input type="text" name="error"/><br/> <label for="successInfo">Success </label><input type="text" name="successInfo"/><br/> <label for="email">Email </label><input type="text" name="email"/><br/> <label for="subject">Subject </label><input type="text" name="subject"/><br/> <label for="description">Description </label><input type="text" name="description"/><br/> </form> 

Вы можете заполнить поля данными AJAX следующим образом:

 $(document).ready(function(){ $.ajax({ type: 'POST', url: 'support.php', success: function(result) { var data = jQuery.parseJSON(result); $.each(data, function(index, value) { $('[name='+index+']').val(value); }); } }); }); 

JQuery

 success: function(result) { var obj = jQuery.parseJSON(result); alert(obj.link); } 

Примечание. Используйте функцию jQuery.parseJSON () , чтобы получить все данные без получения ошибки.

PHP

Совет. Если есть вероятность, что массив может содержать html-теги, тогда кодируйте данные следующим образом:

 $data['success']='1'; $data['link']="<a href='http://stackoverflow.com/' target='_blank' style='color:#68dff0'>Click Here</a>"; echo json_encode($data, JSON_HEX_QUOT | JSON_HEX_TAG); 

Вот полная рабочая версия:

 <!DOCTYPE html> <html lang="en"> <head> <title>HTML</title> <script src="http://code.jquery.com/jquery-latest.min.js"></script> <script> $(document).ready(function(){ $("#submit").click(function(){ fn_val=$('#fn').val(); ln_val=$('#ln').val(); $.ajax({ type: 'POST', url: 'resp.php', data : {fn: fn_val , ln: ln_val}, success: function(result) { var data = $.parseJSON(result); $("#the_results").append('Associative array returned' + '<BR>'); $.each(data, function(index, value) { $("#the_results").append("index = " + index + ', data = ' + value + '<BR>'); }); } }); }); }); </script> </head> <body> <div> First name: <input type="text" name="fn" id='fn'> Last Name: <input type="text" name="ln" id='ln'> <button id="submit">Pass Data to PHP</button> </div> <div id="the_results"></div> </body> </html> 

Thats html-файл, ниже – файл php resp.php

 <?php $resp_arr = array('First Name' => $_POST["fn"], 'Last Name' => $_POST["ln"]); echo json_encode($resp_arr); ?>