Я создал массив в 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); }); } }); });
success: function(result) { var obj = jQuery.parseJSON(result); alert(obj.link); }
Примечание. Используйте функцию jQuery.parseJSON () , чтобы получить все данные без получения ошибки.
Совет. Если есть вероятность, что массив может содержать 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); ?>