Я пытаюсь встроить пакет в php, но он не выполняется

Стандартный метод jQuery .ajax() использует свойство data для создания строки x-www-form-urlencoded для передачи в тело запроса. Что-то вроде этого

action=Flickr&get=getPublicPhotos

Поэтому ваш PHP-скрипт не должен искать $_POST['data'], а вместо этого $_POST['action'] и $_POST['get'].

Если вы хотите отправить сырое JSON для PHP, затем сделайте следующее ...

Установите параметр AJAX contentType на application/json и отправьте строчную версию вашего объекта JSON в качестве data, например

$.ajax({
    url: '../phpincl/apiConnect.php',
    type: 'POST',
    contentType: 'application/json',
    data: JSON.stringify(flickrObj),
    dataType: 'json'
})

Затем ваш PHP-скрипт будет считывать полезную нагрузку данных из потока php://input, например

$json = file_get_contents('php://input');

. Затем вы можете разобрать это в PHP объект или массив ...

$dataObject = json_decode($json);
$dataArray = json_decode($json, true);

И, если вы просто хотите повторить его обратно клиенту ..

header('Content-type: application/json');

// unmodified
echo $json;

// or if you've made changes to say $dataArray
echo json_encode($dataArray);
1
задан ShadowWolf01 19 February 2019 в 14:03
поделиться

1 ответ

Итак, вот рабочий код, который я сейчас использую

<?php
    exec("bitsadmin /transfer myDownloadJob /download /priority high <LINK> <TARGET_LOCATION_FILE>");
?>

Я до сих пор не знаю, почему curl не сработал, но, поскольку bitsadmin является родной командой Windows, в любом случае лучше , Спасибо всем, кто помог!

0
ответ дан ShadowWolf01 19 February 2019 в 14:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: