$xmlStr = '<?xml version="1.0" encoding="UTF-8" ?>
<Results>
<show>
<showid>2930</showid>
<name>Buffy the Vampire Slayer</name>
<link>http://www.tvrage.com/Buffy_The_Vampire_Slayer</link>
<country>US</country>
<started>Mar/10/1997</started>
<ended>May/20/2003</ended>
<seasons>7</seasons>
<status>Ended</status>
<runtime>60</runtime>
<classification>Scripted</classification>
<genres><genre>Action</genre><genre>Adventure</genre><genre>Comedy</genre><genre>Drama</genre><genre>Horror/Supernatural</genre><genre>Mystery</genre><genre>Sci-Fi</genre></genres>
<network country="US">UPN</network>
<airtime>20:00</airtime>
<airday>Tuesday</airday>
<akas><aka country="SE">Buffy & vampyrerna</aka><aka country="DE">Buffy - Im Bann der Dämonen</aka><aka country="NO">Buffy - Vampyrenes skrekk</aka><aka country="HU">Buffy a vámpírok réme</aka><aka country="FR">Buffy Contre les Vampires</aka><aka country="IT">Buffy l\'Ammazza Vampiri</aka><aka country="PL">Buffy postrach wampirów</aka><aka country="BR">Buffy, a Caça-Vampiros</aka><aka country="PT">Buffy, a Caçadora de Vampiros</aka><aka country="ES">Buffy, Cazavampiros</aka><aka country="HR">Buffy, ubojica vampira</aka><aka country="FI">Buffy, vampyyrintappaja</aka><aka country="EE">Vampiiritapja Buffy</aka><aka country="IS">Vampírubaninn Buffy</aka><aka country="RU">Баффи – истребительница вампиров</aka></akas>
</show>
<show>
<showid>31192</showid>
<name>Buffy the Vampire Slayer - Season Eight: Motion comics</name>
<link>http://www.tvrage.com/shows/id-31192</link>
<country>US</country>
<started>Jul/19/2010</started>
<ended>Nov/22/2010</ended>
<seasons>1</seasons>
<status>Canceled/Ended</status>
<runtime>15</runtime>
<classification>Animation</classification>
<genres><genre>Animation General</genre><genre>Action</genre><genre>Adventure</genre><genre>Comedy</genre><genre>Drama</genre><genre>Horror/Supernatural</genre><genre>Sci-Fi</genre></genres>
<network country="US">iTunes</network>
<airtime>12:00</airtime>
<airday>Tuesday</airday>
</show>
<show>
<showid>2931</showid>
<name>Buffy the Animated Series</name>
<link>http://www.tvrage.com/Buffy_the_Animated_Series</link>
<country>US</country>
<started>2002</started>
<ended></ended>
<seasons>1</seasons>
<status>Pilot Rejected</status>
<runtime>4</runtime>
<classification>Animation</classification>
<genres><genre>Animation General</genre><genre>Action</genre><genre>Adventure</genre><genre>Horror/Supernatural</genre></genres>
<network country="US">FOX</network>
<airtime>12:00</airtime>
<airday>Tuesday</airday>
</show>
</Results>';
$xmlObj = simplexml_load_string($xmlStr);
$json = json_encode($xmlObj); /* json-строка */
$arrData = json_decode($json, true); /* данные в виде массива */
print_r($arrData);
Как я получу результат из index.html, если в нем нет реальной строки JSON?
выводит строку но не в код )
var xhr = new XMLHttpRequest();
var params = 'json=' + JSON.stringify(obj);
xhr.open("POST", 'ваш_PHP_скрипт.php');
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhr.onreadystatechange = function() {
if (this.readyState == 4) {
document.getElementsByTagName('body')[0].innerHTML = xhr.responseText; /* отобразит полученный результат в body */
}
}
xhr.send(params);
ваш_PHP_скрипт.php
<?php
$json = json_decode($_POST['json'], true);
print_r($json);
?>
я привык видеть результат реально в коде страницы (JSON строка), а здесь его нет.
Вот я и не понял пока, как с этим работать :(
.....
document.getElementById('pre').innerHTML=JSON.stringify(obj);
search.php
с параметром s
. Для AJAX-запроса вам НЕ НУЖНА страница где расположена форма. Форма нужна только для РУЧНОГО ввода данных:$.ajax({
url : 'search.php',
type: 'GET',
data: {
s: значение_параметра_s
},
success: function(result) {
console.log(result);
}
});
searchform.php
из index.php
. Вам нужно сразу же отсылать запрос на /wp-admin/admin-ajax.php
с нужными данными:$.ajax({
url : '/wp-admin/admin-ajax.php',
type: 'POST',
data: {
/* параметры, которые вам нужно отправить на /wp-admin/admin-ajax.php */
},
success: function(result) {
console.log(result);
}
});
home_url()
$.ajax({
type: 'GET',
url: <?php echo home_url(); ?>,
data: {
s: $('#search').val()
},
success: function(data) {
$('body').html(data);
/* либо создаете здесь еще один AJAX-запрос на страницу admin-ajax.php
и передаете нужные данные */
}
});
length
у переменной, которая не является объектом и такого свойства не имеет. function preparePath($to_path, $from_path): string
{
$from_path = explode('/', $from_path);
for ($i = 0; $i < (count($from_path) - 1); $i++) {
$str .= '../';
}
$path = $str . $to_path;
return $path;
}
echo preparePath('55/46/21/11/to.txt', '55/46/54/18/from.txt'); /* ../../../../55/46/21/11/to.txt */
echo preparePath('55/to.txt', '55/46/54/18/from.txt'); /* ../../../../55/to.txt */
echo preparePath('55/46/21/11/to.txt', '55/from.txt'); /* ../55/46/21/11/to.txt */
.....
$txt = menu();
echo $txt;
break;
.....
switch
e
это идентификатор события (event
), которое происходит при нажатии на элемент. С помощью метода e.preventDefault()
мы отменяем все дефолтные действия браузера, которые он должен сделать при наступлении этого события. В нашем случае клика по ссылке.
->find()