【问题标题】:Using Ajax and PHP in wordpress在 wordpress 中使用 Ajax 和 PHP
【发布时间】:2016-05-09 16:45:49
【问题描述】:

大家好,我是 wordpress 和 ajax 的新手,我在提交表单之前使用此代码检查输入值:

$j("#ninja_forms_field_75").focusout(function(){
    var content = document.getElementById("ninja_forms_field_75").value;
       $j.ajax({
            url     : 'check.php',
            data    : {'mid':content},
            type    : 'POST',
            success : function(resp){
                if(resp == '1'){
                    //success message or whatever
            },
            error   : function(resp){
                alert("some error occured !");
            }
       }); 
    });

问题是我不知道我应该把那个 php 文件放在哪里来处理数据库... 请帮帮我!!!

请原谅我的英语...

【问题讨论】:

标签: php ajax database wordpress


【解决方案1】:

在您的 js 文件中编写上面的代码:

javascript.js

$j("#ninja_forms_field_75").focusout(function() {
  var content = document.getElementById("ninja_forms_field_75").value,
        my_data = {
        'action': 'my_action',
        'mid': content
      };
  $j.ajax({
      url: ajaxurl,
      data: my_data,
      type: 'POST',
      success: function(resp) {
        if (resp == '1') {
          //success message or whatever
        },
        error: function(resp) {
          alert("some error occured !");
        }
      });
  });
});

然后开始 php 部分,如果它只是一个 ajax 请求,我更喜欢将它存储在 functions.php 中。如果不止一个,请创建一个类似 ajax-handler.php 的文件并将其包含在您的 functions.php 中

functions.php

if ( defined( 'DOING_AJAX' ) ) {
  include_once( 'ajax-handler.php' );
}

ajax-handler.php

if ( ! defined( 'ABSPATH' ) ) {
    exit;
}

add_action( 'wp_ajax_my_action', 'my_custom_ajax_action' );
add_action( 'wp_ajax_nopriv_my_action', 'my_custom_ajax_action' );
function my_custom_ajax_action() {
    $result = 'Hello';

    wp_send_json( $result );
}

【讨论】:

  • 我应该如何链接到functions.php?我的意思是在 Ajax 的 url 部分中
  • 啊,我错过了一些东西。看看我已经编辑过了。您必须调用wp-admin/admin-ajax.php 文件,因此在后端自动分配变量ajaxurl 及其url。如果您将其用于前端,则必须使用wp_localize_script 手动分配此变量。您可以在javascript 和php 中使用action 参数链接到您的函数,您将使用add_action 函数挂钩此操作。因此js参数和动作钩子必须同名。
【解决方案2】:

你可以在functions.php中尝试,我已经按步骤制作了一个表格,我在yout主题目录下的functions.php上做。

【讨论】:

  • 这不是我的答案,我不需要知道如何创建表单...我需要知道我应该将我的 php 文件放在哪里才能使用数据库顺便说一句谢谢你的回答
猜你喜欢
  • 1970-01-01
  • 2011-12-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-16
  • 2013-10-30
相关资源
最近更新 更多