gpt4 book ai didi

javascript - 调用 PHP 函数并将值返回给 Javascript

转载 作者:行者123 更新时间:2023-11-30 09:46:00 25 4
gpt4 key购买 nike

我正在使用 WordpressJavascript 会将文本插入到编辑帖子的编辑器中。

我有两个文件,一个是js,另一个是PHP 文件。我想调用 PHP 函数将数据库值返回给 Javascript

我在做什么:

I have [value - X] points. //The Javascript will insert this into the editor. [value - x] is the value which return from the PHP function

这是我的 JavaScript:

   onsubmit: function( e ) 
{
var str = '';
if(e.data.friend_cb )
{
str += 'I have [value - X] points. <br><br/>';
}

editor.insertContent(str);



jQuery.ajax({
url: 'http://localhost:8080/wordpress/wp-content/plugins/databaseConnection.php',
type: 'POST',
data: {functionname: 'getX', condition_code: condition_code},
error:function(data)
{
alert("failed");
console.log(data);
},
success: function(data)
{
alert("success");
console.log(data); // Inspect this in your console
}
});

这是 PHP 函数:

if( !isset($_POST['condition_code']) ) 
{
$error .= 'No function no_friend!';
$condition_code = $_POST['condition_code'];
}

$functionName = $_POST['functionname'];
// $functionName = 'add_bonus_point';
switch($functionName) {
case 'set_no_friend':


//Check did it pass the functionName
if( !isset($_POST['functionname']))
$error .= 'No function name!';
else
$errorBool = false;
break;
case 'try_insert':
getX();
break;
}


function getX()
{
$x = 0;
//Connect to database, get X value.
return $x;

}

我怎样才能得到值 X?

非常感谢。

最佳答案

第一件事。如果你在 wordpress 上工作,你应该以 wordpress 的方式调用 ajax

参见:https://codex.wordpress.org/AJAX_in_Plugins

你的javascript应该是

onsubmit: function( e ) {
var str = '';
if(e.data.friend_cb ) {
str += 'I have [value - X] points. <br><br/>';
}

editor.insertContent(str);

jQuery.ajax({
url: ajaxurl,
type: 'POST',
data: {
action:'my_ajax_function',
functionname: 'getX',
condition_code: condition_code
},
error:function(data){
alert("failed");
console.log(data);
},
success: function(data) {
alert("success");
console.log(data); // Inspect this in your console
}
});
}

你的PHP代码应该是

add_action( 'wp_ajax_my_ajax_function', 'my_ajax_function' );
add_action( 'wp_ajax_nopriv_my_ajax_function', 'my_ajax_function' );

function my_ajax_function(){
if( !isset($_POST['condition_code']) ) {
$error .= 'No function no_friend!';
$condition_code = $_POST['condition_code'];
}

$functionName = $_POST['functionname'];
// $functionName = 'add_bonus_point';
switch($functionName) {
case 'set_no_friend':


//Check did it pass the functionName
if( !isset($_POST['functionname']))
$error .= 'No function name!';
else
$errorBool = false;
break;
case 'try_insert':
getX();
break;
}
}

function getX(){
// access global variable $wpdb database connection object
global $wpdb;
$x = 0;
//Connect to database, get X value.
return $x;
}

关于javascript - 调用 PHP 函数并将值返回给 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38864667/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com