Я застрял на последнем шаге потока данных. Сейчас я работаю над созданием приложения, которое вводит ввод из поля ввода формы HTML, и через Ajax возвращают данные, связанные с тем, что вводит пользователь. Я постараюсь лучше объяснить ниже.Javascript parse JSON данные от from input
Шаг 1:
Пользователь заполняет форму, которая запрашивает URL сайта:
<form action="return.php" class="url-performance" method="post" accept-charset="utf-8">
<input type="text" name="target_url" value="" placeholder="yourwebsite.com" />
<input type="submit" name="submit" value="Submit form" />
</form>
<div class="the-return"></div>
Шаг 2:
После того, что данные передаются return.php, который на самом деле является Аякс функция в моей основной JS файл:
$(".url-performance").submit(function(){
var data = {
"action": "test"
};
data = $(this).serialize() + "&" + $.param(data);
$.ajax({
type: "POST",
dataType: "json",
url: "../wp-content/themes/company/response.php",
data: data,
success: function(
$(".the-return").html(
"url: http://api.url" + data["target_url"]
);
}
});
return false;
});
Шаг 3:
данных, наконец, проходит через response.php
if (is_ajax()) {
if (isset($_POST["action"]) && !empty($_POST["action"])) { //Checks if action value exists
$action = $_POST["action"];
switch($action) { //Switch case for value of action
case "test": test_function(); break;
}
}
}
//Function to check if the request is an AJAX request
function is_ajax() {
return isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest';
}
function test_function(){
$return = $_POST;
$return["json"] = json_encode($return);
echo json_encode($return);
}
Проблема Я бегу в том, что мне нужно, чтобы получить данные в формате JSON от http://api.url «+ данные [» target_url "]. Это будет выглядеть так:
{
USS001: {
node_id: "AWSUS1",
domain: "dyn.com",
results: [
{
nameserver: "ns1.p01.dynect.net",
nameserver_ip: "208.78.70.1",
ip: "199.180.184.220",
query_time: 2
},
{
nameserver: "ns2.p01.dynect.net",
nameserver_ip: "204.13.250.1",
ip: "199.180.184.220",
query_time: 5
},
{
nameserver: "ns3.p01.dynect.net",
nameserver_ip: "208.78.71.1",
ip: "199.180.184.220",
query_time: 2
},
{
nameserver: "ns4.p01.dynect.net",
nameserver_ip: "204.13.251.1",
ip: "199.180.184.220",
query_time: 11
}
],
query_time: 2,
nameserver_used: "ns1.p01.dynect.net",
nameserver_used_ip: "208.78.70.1",
test_time: 0.13942
},
EUS001: {
node_id: "EUS001",
domain: "dyn.com",
results: [
{
nameserver: "ns3.p01.dynect.net",
nameserver_ip: "208.78.71.1",
ip: "134.0.76.51",
query_time: 1
},
{
nameserver: "ns2.p01.dynect.net",
nameserver_ip: "204.13.250.1",
ip: "134.0.76.51",
query_time: 8
},
{
nameserver: "ns1.p01.dynect.net",
nameserver_ip: "208.78.70.1",
ip: "134.0.76.51",
query_time: 1
},
{
nameserver: "ns4.p01.dynect.net",
nameserver_ip: "204.13.251.1",
ip: "134.0.76.51",
query_time: 7
}
],
query_time: 1,
nameserver_used: "ns3.p01.dynect.net",
nameserver_used_ip: "208.78.71.1",
test_time: 0.33029
},
HKS001: {
node_id: "HKS001",
domain: "dyn.com",
results: [
{
nameserver: "ns3.p01.dynect.net",
nameserver_ip: "208.78.71.1",
ip: "103.11.201.138",
query_time: 6
},
{
nameserver: "ns4.p01.dynect.net",
nameserver_ip: "204.13.251.1",
ip: "103.11.201.138",
query_time: 122
},
{
nameserver: "ns2.p01.dynect.net",
nameserver_ip: "204.13.250.1",
ip: "103.11.201.138",
query_time: 11
},
{
nameserver: "ns1.p01.dynect.net",
nameserver_ip: "208.78.70.1",
ip: "103.11.201.138",
query_time: 6
}
],
query_time: 6,
nameserver_used: "ns3.p01.dynect.net",
nameserver_used_ip: "208.78.71.1",
test_time: 0.68504
},
AUS001: {
node_id: "AUS001",
domain: "dyn.com",
results: [
{
nameserver: "ns2.p01.dynect.net",
nameserver_ip: "204.13.250.1",
ip: "103.11.201.138",
query_time: 1
},
{
nameserver: "ns1.p01.dynect.net",
nameserver_ip: "208.78.70.1",
ip: "103.11.201.138",
query_time: 2
},
{
nameserver: "ns3.p01.dynect.net",
nameserver_ip: "208.78.71.1",
ip: "103.11.201.138",
query_time: 1
},
{
nameserver: "ns4.p01.dynect.net",
nameserver_ip: "204.13.251.1",
ip: "103.11.201.138",
query_time: 2
}
],
query_time: 1,
nameserver_used: "ns2.p01.dynect.net",
nameserver_used_ip: "204.13.250.1",
test_time: 1.30983
}
}
То, что я застрял на том, чтобы найти JavaScript, эквивалентный file_get_contents (PHP).
Итак, вы хотите, чтобы разобрать JSON? Он должен сам по себе. Попробуйте добавить заголовок типа контента в php до 'json_encode' – Iceman
, почему« PHP »участвует в этом вообще, все это может быть сделано на стороне клиента. – cmorrissey
@cmorrissey Я новичок во всем этом. Что будет примером для всех клиентов? –