我正在尝试为我的wordpress网站运行服务器端python脚本。我可以在php函数中调用python文件,并以简码形式在网站上运行它。因此,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文件时,我没有收到任何错误,而到达ajax查询的success
部分,因为我没有收到任何错误消息。如何访问php文件中的hello_world函数并显示输出?
谢谢
答案 0 :(得分:2)
您正在使用参数的值,而不是参数本身...
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
}
答案 1 :(得分:1)
您将执行以下操作:
if (isset($_POST['helloworld'])) {
echo hello_world();
// Or json_encode(hello_world()); for returning an Array
}