簡體   English   中英

JavaScript調用PHP函數

[英]Javascript call PHP function

我正在編輯wordpress帖子模板。 而且我想用javascript調用PHP函數,但是我的代碼不起作用。

  1. 這是我想做的。 當用戶單擊“ OK button ,在調用PHP函數成功或失敗時,應該顯示一個警告框。 在此處輸入圖片說明

這是我的js代碼:

(function() {
tinymce.PluginManager.add('facebook_api_tinymce', function( editor, url ) {
    editor.addButton( 'facebook_api_tinymce', 
            {
        title: 'Set friend condition', 
                    text: 'Condition',
                    type: 'menubutton',
                     menu: 
                     [    
                         {
                             text: 'Friend',
                              onclick: function() {
                                 editor.windowManager.open( {
                                     body:[
                                          {
                                            type: 'textbox',
                                            name: 'textboxName',
                                            label: 'Set friend',
                                            value: '20'     
                                          }
                                        ],onsubmit: function( e ) {

                                           $.ajax({
                                                url: 'databaseConnection.php',
                                                type: 'GET',
                                                data: {functionname: 'updateDatabase', post_id: 1, no_friend: 2},
                                                error:function(){
                                                   alert("failed");

                                                },
                                                success: function(data) {
                                                    alert("success");
                                                    console.log(data); // Inspect this in your console
                                                }
                                            });
                                        }

                                });    
                              }

                          }
                     ]

    });

});

這是我的PHP代碼:

<?php


$post_id = 0;
$no_friend = 0;

//Check did it pass the functionName
if( !isset($_POST['functionname']))
      $error = 'No function name!'; 


//Check did it pass the Post id
if( !isset($_POST['post_id']) ) 
     $error = 'No function post_id!';
 else {
     $post_id = $_POST['post_id'];
 }

//Check did it pass the no_friend
if( !isset($_POST['no_friend']) ) 
     $error = 'No function no_friend!'; 
else{
    $no_friend = $_POST['no_friend'];
}


//If no data are missed
if( !isset( $error) ) {

    switch($_POST['functionname']) {
        case 'updateDatabase':

            updateDatabase(intval($post_id), intval($no_friend));
            break;

        default:
           $error = 'Not found function '.$_POST['functionname'].'!';
           break;
    }

}



function updateDatabase($post_id, $no_friend)
{
    $ans = $post_id + $no_friend;
    echo $ans;

}

echo $error;

它應該顯示一個警告框。 我怎么了?

您從Ajax通話中得到了什么? 那這是什么

console.log(data); // Inspect this in your console

實際顯示? 如果它是一個完整的Wordpress頁面,則可能您的PHP函數可以運行,但是它們永遠不會執行。 這可能是由於.htaccess重寫等造成的。

您正在ajax中使用Type:"GET" ,但是您嘗試使用POST在php中獲取價值

只需將ajax中的Type:"GET"更改為Type:"POST" ,或

POST更改為php代碼中的GET

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM