2013-10-01 71 views
0

我创建自定义主题。我需要在主题中运行一些Ajax,但我不太了解Ajax。我只知道如何使用jquery load()函数来完成服务器端任务。但问题是,当我在我的jQuery中使用load()函数时,它在wordpress中不起作用。Wordpress和JQuery:无法使用jQuery加载函数为AJAX调用

这是我的function.php文件:

function footerfunction() { 
    wp_enqueue_script('scripts', get_template_directory_uri() . '/inc/scripts.js', array('jquery')); 
} 
add_action('wp_footer', 'footerfunction'); 

这是我的scripts.js中的文件:

jQuery(document).ready(function($){ 
    $('.button1').live('click', function(){ 
     $(".div1").load("contents.php"); 
     }); 
}); 

这里从contents.php文件中的代码没有加载到类= DIV1。任何解决方案

N.B:scripts.js和contents.php这两个文件位于相同的目录中。

+0

现场已弃用! – adeneo

+0

@ kowsar89 - 除了来自@adeneo的评论,请提供'comments.php'文件的路径。呈现页面后,WordPress将查找资源w.r.t.到域根。 – anupam

回答

1

按照以下内容重新调整脚本文件,包含注释以在必要时描述更改。

jQuery(document).ready(function($){ 
    /** 
    * Re-adjusted to .on('click') 
    * Future-proof any DOM changes with 
    * $(document). 
    **/ 
    $(document).on('click', '.button1', function() { 
     /** 
      * Use a slightly more un-relative path. 
      * to load your contents.php. 
     **/ 
     $(".div1").load("wp-content/themes/yourtheme/contents.php"); 
    }); 
}); 

如果您还是有问题,这将是最好的,包括从JavaScript控制台的任何JavaScript错误,在键盘上最常用F12

+1

非常感谢MackieeE,当我在“wp-content”之前删除“/”后,你的代码可以正常工作。我将它修改为$(“。div1”)。load(“wp-content/themes/yourtheme/contents.php”);然后它的工作 –

+0

啊真棒,我会编辑的答案,所以偷看在将来不必犯同样的错误,谢谢你通知:-) – MackieeE

+0

也道歉提醒,如果你认为它回答你的问题 - 请接受! – MackieeE