Questions tagged «ajax»

Ajax-WordPress的核心仅在管理屏幕中使用Ajax。例如,当您进行评论审核以及从类别,博客卷和帖子等列表中添加和删除项目时,Ajax用于即时更新。Ajax还是帖子和页面编辑屏幕上自动保存功能的幕后技术。一些主题和插件也使用Ajax。例如,一些帖子评级插件。

2
只要/应该,Ajax就会花费10倍的时间
我刚刚遇到了WordPress的第一个严重问题,对于喜欢Ajax的人来说,这是一个大问题。 我有一个Ajax请求,在使用Ajax API时需要1.5秒才能完成。 如果我使用完全相同的代码并使用自定义脚本(没有WordPress)运行它,则Ajax请求仅需150毫秒。这并不夸张 如果您看一下http://wp.smashingmagazine.com/2011/10/18/how-to-use-ajax-in-wordpress/的第一条评论,随后的对话中您会发现,这种缓慢是由根据您的要求,所有WP都已加载... 我希望有一个解决方案,可以在不加载所有WordPress的情况下发出Ajax请求。 您通过WordPress加快Ajax请求的经验是什么?
50 ajax  performance 


13
管理员Ajax返回0
我对jQuery和AJAX特别陌生。我有一个小问题,返回值始终为0,尽管我认为这实际上是成功消息,但未返回任何内容。 我已经搜索过Google诗歌,并且在PHP回调中具有die()函数,并且我相信add_actions是正确的。 我正在本地主机上工作,尽管我怀疑这会影响它,而这一切都在管理员而非前端中。我还检查了js是否已入队和本地化。 在Chrome开发人员区域中,我收到200 OK消息。 我还从http://codex.wordpress.org/AJAX_in_Plugins测试了基本的AJAX,它还返回了0,这使我怀疑是否是下面概述的代码以外的东西。 现在,我只是想使它向jQuery发送一些信息。任何帮助,将不胜感激。 jQuery的 jQuery(document).ready(function(){ jQuery('.cl_link_buttons').val('id').click(function() { var currentid = jQuery(this).attr('id'); //alert(currentid); console.log(currentid); jQuery.ajax ( data = { action: 'cleanlinks_ajax_get_post_data', url: ajaxurl, type: 'POST', dataType: 'text', "currentid" : currentid }); jQuery.post(ajaxurl, data, function(response) { var dataz = response; alert( dataz ); console.log (dataz); //show json in …
28 admin  ajax 

4
如何检查我是否在admin-ajax.php中?
现在,对于我的插件,我正在使用in_admin()以确定用户是在站点的前端还是在管理区域中。但是,当插件用于admin-ajax.php处理ajax请求时,就会出现问题。 我需要一种仅在处理admin-ajax.php文件时或在站点的前端中注册钩子和插件的方法。这样做的最佳方法是什么?
27 ajax 

2
前端未定义ajaxurl
我正在尝试在前端创建一个ajaxform。我正在使用代码 jQuery.ajax( { type: "post", dataType: "json", url: ajaxurl, data: formData, success: function(msg){ console.log(msg); } }); 我正在为此错误 Uncaught ReferenceError: ajaxurl is not definedworklorAjaxBookForm @ ?page_id=2:291onclick @ ?page_id=2:202 在管理后端上使用类似代码时。我必须使用哪个URL来处理ajax请求?

2
AJAX调用期间是否曾经调用过functions.php文件?调试AJAX
试图找出程序员遇到的问题。我想知道functions.php当您执行管理端AJAX时是否会调用该文件?我知道当您进行AJAX调用时,会加载一部分WP以处理该调用并发送回响应。是functions.php包含在该文件? 我问的原因是因为他正在使用Meta-Box`插件中的类,并将其加载为主题的一部分。该类中有一些AJAX仅返回空响应,我认为是因为处理响应的代码未加载。WP处理AJAX时加载的内容是否有任何文档?

8
如何通过AJAX / jQuery加载wp_editor()
我有一个定制开发的主题,而且非常复杂。我拥有的一件事是多个内容区域,用户可以在其中为特定选项卡指定内容。我通过该wp_editor()功能加载了WordPress编辑器的多个实例。它运作完美。(这一切都在管理员端,在“页面”帖子类型中) 但是,我开始进行一些改进,包括动态添加/删除标签的功能(之前,我在页面上加载了6个编辑器)。用户可能有1-7个标签。 用户添加选项卡时,需要向页面添加编辑器的实例。但是,无论我尝试什么,都无法正确加载和显示它。 到目前为止,这是我尝试过的两件事: 创建一个包含管理员引导程序的php文件,然后使用加载编辑器wp_editor()。然后,我使用jQuery $.load调用该页面,并将生成的HTML包含在它需要显示的区域中。但是,这实际上并不起作用,因为编辑器的格式化按钮消失了(值得注意的是,直接拉动页面,编辑器可以完美显示和运行) 将编辑器加载到页面上的隐藏div内,然后在添加标签后,使用jquery将其移动到位。这将使编辑器保持原样加载,但是您不能使用任何编辑器按钮(它们显示但不执行任何操作),也不能将光标置于文本区域(但是,很奇怪,切换到HTML模式允许输入文字并与HTML模式按钮进行一些交互) 所以问题是,有人通过AJAX调用添加编辑器很幸运吗?有什么建议吗?
22 ajax  wp-editor 

5
Ajax调用始终返回0
我对AJAX总是返回0有问题! 我已经完成了本书的所有工作,无法弄清楚出了什么问题?请帮忙!! 这是我的Ajax电话: //Pass data through AJAX var amountToConvert = price; jQuery.ajax({ type:"POST", url: "../../wp-admin/admin-ajax.php", // our PHP handler file action: "ajaxConversion", data: { amount: amountToConvert }, success:function(data){ alert(data); }, error: function(errorThrown){ alert(errorThrown); } }); return false; 而且functions.php中的函数是: function ajaxConversion(){ $amount = mysql_real_escape_string($_POST['amount']); echo $amount; die(); }; add_action('wp_ajax_nopriv_ajaxConversion', 'ajaxConversion'); add_action('wp_ajax_ajaxConversion', …
18 functions  ajax 


3
将admin-ajax.php添加到前端。好主意还是坏主意?
我爱admin-ajax.php。但是我讨厌不得不本地化以便将前端脚本指向它,并且我希望有一个等效的,易于找到的主题文件。(看到前端请求通过“ / wp-admin /”,这也使我感到困扰。没有实际原因,只是看起来丑陋的IMO。) 因此,我只是将admin-ajax.php复制到了“ /ajax.php”的根目录下,调整了包含路径并删除了WP_ADMIN常量定义。似乎像大爆炸一样工作(我现在可以将所有前端AJAX请求定向到/ajax.php!而且我仍然可以在插件中使用普通的wp_ajax钩子!)。 但这安全吗?可能出什么问题了?由于这不是核心功能,因此我认为有充分的理由。但是查看代码,我看不到任何直接的问题。 您很聪明-如果这种方法很疯狂,请告诉我。或者,如果有一种更简单的方法我忽略了。
17 themes  ajax 

1
WordPress为什么要向Ajax响应添加0(零)?
除非我用exit()或结束Ajax处理功能,否则die()Ajax函数将接收所需且正确的输出,但后跟0。 知道为什么会这样吗? 是那样的意思还是可以解决? add_action('wp_ajax_get_homepage', 'get_homepage'); add_action('wp_ajax_nopriv_get_homepage', 'get_homepage'); function get_homepage(){ echo "get_homepage ->"; exit(); } 我已经在AJAX中阅读了Plugins,但是为什么这样做是必要的?

3
仅使用wp_enqueue_scripts操作钩子对admin-ajax.php的400错误请求
我最近一直在研究ajax。您在网上找到的教程都非常相似并且很容易实现。但是,我总是得到一个错误的请求400在我的ajax-admin.php文件。 经过长时间深入的搜索,我现在发现这是由于集成时间所致。 如果我使用init动作挂钩来初始化脚本和wp_localize_script,则一切正常。因此,代码本身必须正确。 my-page-test-functions.php function ajax_login_init(){ wp_register_script('ajax-login-script',get_stylesheet_directory_uri().'/js/ajax-login-script.js',array('jquery')); wp_enqueue_script('ajax-login-script'); wp_localize_script('ajax-login-script','ajax_login_object',array('ajaxurl' => admin_url('admin-ajax.php'),'redirecturl' => 'REDIRECT_URL_HERE','loadingmessage' => __('Sending user info, please wait...'))); add_action('wp_ajax_nopriv_ajaxlogin','ajax_login'); } if(!is_user_logged_in()){ add_action('init','ajax_login_init'); } function ajax_login(){ //nonce-field is created on page check_ajax_referer('ajax-login-nonce','security'); //CODE die(); } 但是,如果我使用wp_enqeue_scripts动作钩子,我总是会收到错误的请求。 if(!is_user_logged_in()){ add_action('wp_enqueue_scripts','ajax_login_init'); } 问题是: 我想在一个额外的php文件中具有这些功能,并且仅在特定页面上需要它们时才加载它们。为此,例如,我需要is_page()。但是is_page()最早在将包含函数的parse_query钩子插入动作钩子时才起作用: functions.php function sw18_page_specific_functions(){ if(is_page('page-test')){ include_once dirname(__FILE__).'/includes/my-page-test-functions.php'; } } add_action('parse_query','sw18_page_specific_functions'); …
16 functions  ajax 

8
结束WordPress ajax请求的最佳方法,为什么?
考虑像这样的常规WordPress ajax请求: add_action( 'wp_ajax_merrychristmas_happynewyear', array( $this, 'merrychristmas_happynewyear' ) ); add_action( 'wp_ajax_nopriv_merrychristmas_happynewyear', array( $this, 'merrychristmas_happynewyear' ) ); 这将是最好的结束函数merrychristmas_happynewyear与die(),die(0),wp_die(),还是别的什么,为什么?
16 ajax 

4
如何使用wp-super缓存来缓存json
在一个新项目中,我们使用wp-super-cache(客户端的首选插件)为自定义内容类型创建静态html文件。但是,我们正在尝试确定是否正确缓存了所有内容。 这是一个两部分的问题。 1)我们创建的主题利用页面模板来输出通过ajax调用吸收的json。即。如果您访问以下页面:theurl.com/sample-您将获得纯json。尽管每个页面和帖子都有一个非JavaScript版本,但Ajax驱动了该主题的前端。我们已经删除了这些文件中的页眉和页脚,以便它是纯json,并且我们正在尝试找出如何确定json是否正在缓存。从理论上讲,数据将被缓存,因为从技术上讲它是由wordpress提供的页面。但是,我们如何确定它是否正在缓存? 2)我们也使用json api插件来提供某些帖子数据。 http://wordpress.org/extend/plugins/json-api/ 对于此示例,假设我们正在使用插件的默认输出方法并访问此页面:my url.com/category/news?json=1-是否有谁知道我们如何验证此输出是否已缓存?如果不进行缓存,哪种方法可以实现? 网上似乎没有太多相关信息,因此本着创建引人入胜且经过优化的wordpress网站的精神,帮助兄弟们

4
admin-ajax.php如何工作?
我们与外部开发人员遇到了一些问题。 我们希望将对wp-admin站点的访问限制为仅内部访问(通过VPN)。简单地说,它将不会受到外部用户的攻击。我们可以从站点枚举管理员,而不希望他们被网络钓鱼。 我们的开发人员说我们不能这样做,因为该站点需要使管理页面可以从外部访问,以便该页面正常运行。特别是admin-ajax页面。 该admin-ajax.php页面做什么? 它位于WordPress的管理部分。最终用户是否未经身份验证访问了它?将其提供给外部用户是否不安全?
14 admin  ajax  security 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.