旧行李 2017-11-23 12:32 采纳率: 25%
浏览 39

Wordpress Ajax无法正常工作?

I am developing plugin in wordpress, i used select tag element, i need the value to be stored in the database on change the option values , but it seems ajax is not working .below is my code ,

this is script code

function ajaxFunction(str,id) {
   var payment_selected = str;
    var id=id;
    var queryString = "&id_took=" + id + "&sel=" + payment_selected;
   
    jQuery.ajax({
        var data = {  'action' : 'my_action',
                        'queryString':queryString
            };
      jQuery.post(ajaxurl, data, function(response) {
            alert('Got this from the server: ' + response);
        });
    });

 
    } 
<select  name='payment_select' id="payment_select" onchange="ajaxFunction(this.value,<?php echo $row->id ?>)">   
                            <option value="Payment Due">Payment Due</option>
                        <option value="Payment completed">Payment Completed</option>
                        </select>                       
                        
    /*below one  i have written in my plugin code  */
    <?php
 
add_action( 'wp_ajax_my_action', 'my_action' );

function my_action() {
    
     global $wpdb;
     $id_selected = $_POST['id_took'];
     $id = $_POST['id'];
     $table_name_payment = $wpdb->prefix . "online_booking_system_model";
    if($whatever2=="Payment completed")
{
        
$result_pay = $wpdb->query("UPDATE $table_name_payment SET 
    payment_status = $id_selected
    WHERE id = $id ");
      echo "success";
        
    }
   
}
?>

</div>
  • 写回答

1条回答 默认 最新

  • weixin_33721344 2017-11-23 13:16
    关注

    Your use of jQuery.ajax seems wrong. Try without wrapping the code with jQuery.ajax like this:

    Javascript

    function ajaxFunction(str,id) {   
        var data = {  
            'action' : 'my_action',
            'id_took': id,
            'sel'    : str
        };
        jQuery.post(ajaxurl, data, function(response) {
            alert('Got this from the server: ' + response);
        });
    } 
    

    HTML

    <select  name='payment_select' id="payment_select" onchange="ajaxFunction(this.value,<?php echo $row->id ?>)">   
        <option value="Payment Due">Payment Due</option>
        <option value="Payment completed">Payment Completed</option>
    </select>                       
    

    PHP

    <?php
    
        add_action( 'wp_ajax_my_action', 'my_action' );
    
        function my_action() {
    
            global $wpdb;
            $id = $_POST['id_took'];
            $str = $_POST['sel'];
            $table_name_payment = $wpdb->prefix . "online_booking_system_model";
            if($whatever2=="Payment completed")
            {            
                $result_pay = $wpdb->query("UPDATE $table_name_payment SET 
                payment_status = $sel
                WHERE id = $id ");
                echo "success";            
            }       
        }
    ?>
    
    评论

报告相同问题?

悬赏问题

  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP