Мой файл jphp.php содержит следующее:
<?php $send_array = array(); $edge_number = array('a','b'); $vertex_a = array('c','d'); $send_array[0] = $edge_number; $send_array[1] = $vertex_a; echo json_encode($send_array); ?>
и мой javascript-файл содержит следующее:
<html> <head> <script language="javascript"> function postRequest(strURL) { var xmlHttp; if(window.XMLHttpRequest) { // For Mozilla, Safari, ... var xmlHttp = new XMLHttpRequest(); } else if(window.ActiveXObject) { // For Internet Explorer var xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } xmlHttp.open('GET', 'jphp.php', true); xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); xmlHttp.onreadystatechange = function() { if (xmlHttp.readyState == 4) { var obj = jQuery.parseJSON('{"name":"John"}'); alert( obj.name === "John" ); updatepage(xmlHttp.responseText); } } xmlHttp.send('jphp.php'); } function updatepage(str) { document.write(str); } var vertex_a = new Array(); var edge_number = new Array(); var rec_array = new Array(); rec_array = {"edge_number", "vertex_a"}; //rec_array[1] = names; for(var i=0;i<1;i++) { document.write(rec_array[i]); } $.ajax({ url: 'jphp.php' type: 'post', // post or get method data: {}, // if you need to pass post/get parameterds you can encode them here in JSON format dataType: 'json', // the data type you want returned... we will use json success: function(responseData) { alert('edge_number='+responseData[0].join(',')); alert('vertex_a='+responseData[1].join(',')); } });
Я кодировал данные данных в php …. теперь я хочу отправить эти два массива данных в javascript ….. я не знаю, какие команды использовать. Я запутался в поиске.
Пожалуйста помоги .
Простой конкретный пример использования jquery:
Страница javascript:
$.ajax({ url: 'url/of/page.php' type: 'post', // post or get method data: {}, // if you need to pass post/get parameterds you can encode them here in JSON format dataType: 'json', // the data type you want returned... we will use json success: function(responseData) { var edge_number = responseData.edge_number; var vertex_a= responseData.vertex_a; var rec_array = responseData; } });
В вашем php:
$send_array = array( 'edge_number' => array('a','b'), 'vertex_a' => array('c','d') ); header('Content-type: application/json'); echo json_encode($send_array);
JavaScript вызывает PHP через AJAX, а затем, когда он получает ответ, он использует JSON.parse()
чтобы превратить строку JSON в объекты JavaScript.
На стороне клиента я бы рекомендовал использовать jQuery, и это $.parseJSON()
.
Вы можете выполнить вызов AJAX с помощью $.get()
, $.post()
или $.ajax()
. См. Документацию по их использованию.
На стороне сервера закодируйте свой массив с помощью PHP-функции json_encode()
.
Затем установите правильный HTTP-заголовок (!!!)
header('Content-type: application/json');
и эхо кодированные данные JSON =]