Javascript wordpress模板中的AJAX调用

Javascript wordpress模板中的AJAX调用,javascript,php,jquery,ajax,wordpress,Javascript,Php,Jquery,Ajax,Wordpress,我在将工作中的php/javascript/ajax应用程序放入wordpress主题时遇到了一个问题。我为我的用户使用它,所以不在管理面板中 我已经做过的: 我在functions.php中调用了JavaScript文件。它的装载量很好。但是当我打开主php文件时,它不会进行ajax调用 我有4个页面:response.php response.php(这个很好用。) single-page.php(这个也可以正常工作。) voedingsschema.js(这一个在没有wordpress的

我在将工作中的php/javascript/ajax应用程序放入wordpress主题时遇到了一个问题。我为我的用户使用它,所以不在管理面板中

我已经做过的: 我在functions.php中调用了JavaScript文件。它的装载量很好。但是当我打开主php文件时,它不会进行ajax调用

我有4个页面:response.php

  • response.php(这个很好用。)
  • single-page.php(这个也可以正常工作。)
  • voedingsschema.js(这一个在没有wordpress的情况下工作。)
  • php(我不知道我是否做对了。)
我希望我已经提供了足够的信息

我的模板中的function.php代码如下所示:

函数fitnesszone\u子脚本(){
wp_enqueue_脚本('voedingschema js',get_stylesheet_directory_uri()。/js/voedingschema.js');
}
添加动作(“wp队列脚本”、“fitnesszone子脚本”);
javascript代码:


$(文档).ready(函数(){
//#####将添加记录Ajax请求发送到response.php#########
$(“#表单提交”)。单击(函数(e){
e、 预防默认值();
if($(“#contentText”).val()='')
{
警报(“请输入一些文本!”);
返回false;
}
$(“#FormSubmit”).hide();//隐藏提交按钮
$(“#加载图像”).show();//显示加载图像
var myData={
content_txt:$('#contentText').val(),
content_txt2:$('#contentText2').val(),
};
jQuery.ajax({
键入:“POST”,//HTTP方法POST或GET
url:“http://website.com/wp-content/themes/fitnesszone-child/response.php“,//在何处进行Ajax调用
数据类型:“text”,//数据类型、HTML、json等。
data:myData,//表单变量
成功:功能(响应){
$(“#响应”)。追加(响应);
$(“#contentText”).val(“”);//成功时为空文本字段
$(“#FormSubmit”).show();//显示提交按钮
$(“#加载图像”).hide();//隐藏加载图像
},
错误:函数(xhr、ajaxOptions、thrownError){
$(“#FormSubmit”).show();//显示提交按钮
$(“#加载图像”).hide();//隐藏加载图像
警报(thrownError);
}
});
});
//#####将删除Ajax请求发送到response.php#########
$(“正文”)。在(“单击”按钮上,“响应.del_按钮”,功能(e){
e、 预防默认值();
var clickedID=this.id.split('-');//split-id-string(split与PHP分解一样工作)
var dbnumberrid=单击edid[1];//并从数组中获取数字
var myData='recordToDelete='+DbNumberID;//构建post数据结构
$('#item_'+DbNumberID).addClass(“sel”);//通过添加类更改此元素的背景
$(this).hide();//隐藏当前单击的删除按钮
jQuery.ajax({
键入:“POST”,//HTTP方法POST或GET
url:“http://website.com/wp-content/themes/fitnesszone-child/response.php“,//在何处进行Ajax调用
数据类型:“text”,//数据类型、HTML、json等。
data:myData,//表单变量
成功:功能(响应){
//成功后,隐藏用户要删除的元素。
$('#item_'+dbnumberrid).fadeOut();
},
错误:函数(xhr、ajaxOptions、thrownError){
//出现错误时,我们会提醒用户
警报(thrownError);
}
});
});
});

让我们用这种方法在WordPress中实现ajax

functions.php

function fitnesszone_child_scripts(){
    wp_enqueue_script( 'voedingsschema_js', get_stylesheet_directory_uri() . '/js/voedingsschema.js' );
    wp_localize_script( 'voedingsschema_js', 'voedingsschema_vars', array( 'ajaxurl' => admin_url( 'admin-ajax.php' ) ) );
}
add_action( 'wp_enqueue_scripts', 'fitnesszone_child_scripts' );

function fitnesszone_implement_ajax(){
    include( TEMPLATEPATH .'/response.php');
}
add_action( 'wp_ajax_fitnesszone', 'fitnesszone_implement_ajax' );
add_action( 'wp_ajax_nopriv_fitnesszone', 'fitnesszone_implement_ajax' );
voedingsschema.js

var contentTxt: $('#contentText').val();
var contentTxt2: $('#contentText2').val();

$.ajax({
    url: voedingsschema_vars.ajaxurl,
    type: 'POST',
    data: 'action=fitnesszone&context_txt=contextTxt&context_txt2=contextTxt2,
    success: function(results){
        // YOUR CODE
    },
});

不要将VoedingSchema.js中的javascript代码包装到
标记中。当您将javascript代码放入HTML中时,这是保留的

对不起,function.php文件如下所示。[code][/code]控制台中是否有错误?没有,没有错误:(这意味着javascript什么都不做,没有错误,也没有执行代码。您可以从functions.php添加代码吗,上面的示例是空的;)添加代码。如果我转到我的single-page.php,我会看到我的javascript正在加载google chrome。看起来它仍然没有连接到function.php页面。正在调用ajax脚本。已经谢谢你的帮助了!请注意,WordPress中的函数文件名为functions.php!