我目前正试图以检查HTML表单上,如果由用户提供的电子邮件已经在数据库中。 因此,我的PHP文件有,如果get_user_by功能工作返回true。

我遵循了AJAX请求的所有WordPress的指导方针 ,并测试了这两种方法,AJAX(jQuery和香草JS)。

在错误回调结束(对应于整个当前HTML页面xhr.responseText),而香草JS方法jQuery的方法返回的成功回调,但始终返回0。

首先,我注册了我的ajax的js文件并定位其具有良好的管理-ajax.php网址。 然后我得到了我的自定义AJAX钩:wp_ajax_nopriv_get_user_by_email其中get_user_by_email是请求的动作数据。

/* Security access : Hacker can't access php files here */

defined( 'ABSPATH' ) or die( 'No script kiddies please!' );

add_action( 'init', 'my_script_enqueuer' );

function my_script_enqueuer() {

wp_register_script( "ajax_user_call", MY_PLUGIN_URL.'js/ajax_user_call.js', array('jquery'));

wp_localize_script( 'ajax_user_call', 'myAjax', array( 'ajaxurl' => admin_url( 'admin-ajax.php' )));

wp_enqueue_script( 'jquery' );

wp_enqueue_script( 'ajax_user_call' );

}

if ( is_admin() ) {

add_action( 'wp_ajax_nopriv_get_user_by_email', 'my_plugin_ajax_get_user_by_email' );

function my_plugin_ajax_get_user_by_email() {

my_plugin_log_me("Is there somebody ?");

// get the mail parameter from URL

$mail = $_REQUEST["mail"];

if ( isset($_REQUEST["mail"]) && !empty($_REQUEST["mail"]) ) {

$user = get_user_by('email', $_REQUEST["mail"]);

if ($user == false) {

echo -2;

wp_die();

}

else {

$response['first_name'] = $user->first_name;

$response['last_name'] = $user->last_name;

wp_send_json($response);

}

}

else {

echo -3;

wp_die();

}

}

} ?>

现在我把ajax_user_call.js:

jQuery(document).ready( function() {

jQuery("#identificationEmailInput").blur( function() {

jQuery.ajax({

type: "post",

dataType: "json",

cache: false,

url: myAjax.ajaxurl,

data: { action: "get_user_by_email", mail: this.value },

success: function(response, statut) {

if(response == 0) {

console.log("Veuillez rentrer une adresse mail du Club Savignac");

}

else {

user = response;

console.log("USER : " + user);

}

},

error: function(xhr, textStatus, errorThrown) {

console.log("AJAX Request failed");

console.log(textStatus);

console.log(errorThrown);

console.log(xhr.responseText);

}

});

});

})

jQuery的(“#identificationEmailInput”)。值返回一个良好的电子邮件字符串。 url参数myAjax.ajaxurl返回好的路径:“ http://mysite.fr/wp-admin/admin-ajax.php ”。

我也试图硬编码像这样的参数:

jQuery.post(

"../wp-admin/admin-ajax.php",

{

action: 'get_user_by_email',

mail: 'myprivate@mail.com'

},

function( response ) {

console.log( response );

}

);

然后,我也试图与香草JS喜欢它:

var getJSON = function(url, param1, param2, successHandler, errorHandler) {

var xhr = new XMLHttpRequest();

xhr.open('post', url, true);

var params = "action=" + param1 + "&mail=" + param2;

console.log(params);

xhr.responseType = 'json';

xhr.onload = function() {

var status = xhr.status;

if (status == 200) {

successHandler && successHandler(xhr.response);

} else {

errorHandler && errorHandler(status);

}

};

xhr.send(params);

};

jQuery(document).ready( function() {

jQuery("#identificationEmailInput").blur( function() {

getJSON(myAjax.ajaxurl, 'get_user_by_email', jQuery("#identificationEmailInput").val(), function(data) {

console.log('user object: ' + data);

}, function(status) {

console.log('Something went wrong.');

});

});

})

但数据值总是返回0。

任何人有这个棘手的问题的想法? 最令人惊奇的是,这是前两天的工作,而现在它已经不而我没有做任何改变。

ajax返回的为什么是,为什么WordPress的AJAX请求返回整个HTML页面,而不是JSON结果?(Why Wordp...相关推荐

  1. ajax能运用到app吗,Jquery之Ajax运用 学习运用篇

    还是先说一些基础知识: 语法:$.ajax({option}) option表示参数.以key/value形式出现. 常用参数:type:post/get. url:发送请求的地址. data:{ob ...

  2. ajax返回request,WordPress的Ajax请求返回0(Wordpress ajax request return 0)

    WordPress的Ajax请求返回0(Wordpress ajax request return 0) 你好,我有一个WordPress的问题我无法获得ajax电话,我找不到原因. 我的查询一直返回 ...

  3. wordpress主题ajax,为自制WordPress主题/插件的后台设置页面添加ajax支持

    本文目录 [隐藏] 1PHP部分 1.1安全第一 1.2定义一些用得上的常量 1.3I18n=国际化支持 1.4添加菜单项 1.5美化下菜单项前面的icon 1.6设置页面/后台的HTML结构 1.7 ...

  4. php 返回字符串给aja,解决ajax异步请求返回的是字符串问题

    1.返回结果差异 js获取后打印res.code无结果.因为返回数据格式不正确. php文件添加header头: header('Content-Type:application/json;'); 或 ...

  5. IE bug:ajax请求返回304解决方案

    IE bug:ajax请求返回304解决方案 参考文章: (1)IE bug:ajax请求返回304解决方案 (2)https://www.cnblogs.com/fanyx/p/6773256.ht ...

  6. SpringBoot+Echarts实现一次ajax请求返回并显示多个饼状图

    场景 SpringBoot+Echarts实现请求后台数据显示饼状图: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/899211 ...

  7. ajax请求返回结果进入success还是error

    我写了一个post方式的ajax请求,如下 $.ajax({type: "POST",url: contextPath + baseUrl + "import/tools ...

  8. ajax调用后台java方法,jquery ajax再次封装,前台调用后台java方法直接返回数据

    一,前台js部分代码 /** * bean参数格式:类全限定名.方法名  opt参数格式:键值对  handleResponse:会function类型参数包含一个参数data,为后台返回json数据 ...

  9. Ajax请求返回200 OK,但是会引发错误事件而不是成功

    我已经在我的网站上实现了Ajax请求,并且正在从网页调用端点. 它总是返回200 OK ,但是jQuery执行error事件. 我尝试了很多事情,但无法弄清问题所在. 我在下面添加我的代码: jQue ...

最新文章

  1. 东莞与华为共建国家新型智慧城市建设示范区
  2. mysql 不join的原因
  3. LiveVideoStackCon讲师热身分享 ( 四 ) —— 基于强化学习的自动码率调节
  4. 预防医学的曙光 | 微软要用AI构建免疫系统图谱
  5. 什么样的站点可以***
  6. 软件工程2第一次作业
  7. 【LeetCode】【字符串】题号:242. 有效的字母异位词
  8. 通过shell登录OSC并备份博文
  9. a letter and a number
  10. 中国食品安全检测市场专项调研及投资前景预测报告2022-2027年
  11. 服务器被攻击ip显示美国,大神:服务器疑是被攻击,netstat命令看到连接有很多国外IP...
  12. 32 位和 64 位版本的 Office 2010 之间的兼容性,同样适用于AutoCAD的VBA兼容性--VBA 64 32 调用dll的区别
  13. ps gif动图怎么做,教你一招更简单
  14. 基于Spark的电影推荐系统(毕业设计)
  15. 医院网络广告的结算形式-医院网络营销站外合作篇
  16. 因计算机中丢失msvcr120.dll,msvcr120.dll丢失怎样修复 附解决方法
  17. 互联网APP监控即时报警解决初步方案
  18. Linux命令入门教程(三):文件基础篇
  19. Docker搭建PHP运行环境
  20. 计算机系统(一)——冯诺依曼体系

热门文章

  1. 基于RNN文本生成 为男朋友写诗歌 附代码 详细教程
  2. SpringBoot - 开发自定义starter
  3. 《扬帆优配》ChatGPT概念股遭集体抛售!
  4. 少则万事足 - 理财规划的5个原则
  5. 百度SEO关键词优化怎么做?怎么样实现快速排名?
  6. ChatGPT辩证观点:“人才不是一个企业的核心竞争力,对人才的管理能力才是一个企业的核心竞争力”
  7. 【学习笔记】Golang语法学习笔记
  8. unity3d 2D游戏中摄像机投影类型
  9. 概念设计.逻辑设计.物理设计.的简单说明
  10. 《治大国》熊逸 epub+mobi+azw3