JQuery / AJAX не удается получить ответ из файла PHP - PullRequest
0 голосов
/ 04 марта 2019

Я пытаюсь запустить сценарий Python на стороне сервера для моего сайта WordPress.Я могу вызвать файл python внутри функции php и запустить его на сайте как шорткод.Итак, файл php работает.У меня проблема с сборкой JQuery и получением ответа из файла php.Я пытаюсь выполнить настройку hello_world для устранения проблемы

AJAX-запрос:

<script >

function myFunction() {
  alert("Testing button");
}

function HelloWorldShortcode() {
    jQuery(document).ready( function($) {

        $.ajax({
            dataType: 'json', 
            method: 'POST',
            url: "http://localhost/wp-content/helloworld.php",
            data: {
                action: 'helloworld'
            },
        error: function (data) {
            alert("bad");
        },
        success: function (response) {
            alert(response);
        }
        });

    })
}

и файл php:

<?php # -*- coding: utf-8 -*-

ini_set('display_errors', 1);

function hello_world() {

    $test = 'hello';
    return $test;

}

if (isset($_POST['helloworld'])) {
    return hello_world();
}

Я также пытался использовать GET вместо POST.Когда я получаю доступ к php-файлу в браузере, я не получаю никаких ошибок, и достигается часть success запроса ajax, поскольку я не получаю никаких сообщений об ошибках.Что я могу сделать, чтобы получить доступ к функции hello_world внутри php-файла и отобразить вывод?

Спасибо

Ответы [ 2 ]

0 голосов
/ 04 марта 2019

Вы используете значение параметра, а не сам параметр ...

if (isset($_POST['action'])) {
    echo hello_world();
    // Or json_encode(hello_world()); for returning an Array 
}

или

if ($_POST['action'] == 'helloworld') {
    return hello_world();
    // Or json_encode(hello_world()); for returning an Array 
}
0 голосов
/ 04 марта 2019

Вы бы сделали что-то вроде:

if (isset($_POST['helloworld'])) {
    echo hello_world();
    // Or json_encode(hello_world()); for returning an Array 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...