javascript - JS POST AJAX 的一种通用功能
问题描述
我$.post
在 Javascript 中使用函数将变量发送到 php 文件,并从 php 获取输出并将其显示在页面上。
现在我得到> 30个重复相似的代码块为每一页,这似乎不是那么有效:
$(document).on('click', '#forgotpass', function() {
var forgotpwd_email = $('#emailreg').val();
....
$.post('include/forgotpwd_link.php', {
forgotpwd_email: forgotpwd_email,
....
}, function(a4) {
$(".loginright").html(a4);
});
});
在哪里:
#forgotpass
- 激活脚本的按钮 id
#emailreg
- 具有要发送到 php 文件的值的字段的 id
.loginright
- div 类,我在其中放置响应
每次按钮的 id、字段的 id、字段和变量的数量以及 php 文件名都在变化。有什么方法可以制作一个改变字段数量的函数,可以激活,如下所示?
post_function('#button_id', '{variable1, variable2}', 'div with response from file_name.php','file_name.php');
未定义要发送的变量数量的主要挑战..它可以是一到十五。
解决方案
感谢 El_Vanja 的提示。
最后我创建了以下功能:
function ajax_post(variables, response_selector, phpfile) {
$.each(variables, function(key) {
variables[key] = $('#'+key).val();
});
$.post(phpfile, variables, function(response) {
$(response_selector).html(response);
});
}
为了调用它,我将输入 ID(即 #var1 和 #var2)添加到变量对象:
var variables = {var1 : '', var2 : ''};
并调用函数:
ajax_post(variables, '.wrapper', 'test.php');
在哪里
variables - 带有输入 ID 的对象(也用作变量名)
.wrapper - 我想放置来自test.php文件的响应的 div
推荐阅读
- python - 以字符串形式写入文字对象的 Python 类
- angular - 如何解决角材料错误:无法解析'@angular/cdk/bidi'?
- react-native - useEffect 无限循环,即使使用空数组作为依赖项
- c# - 比较 Excel 中的单元格并使用 C# 以红色显示错误行
- server - localhost:5000 使用 Firefox 但不是 Chrome、Safari 和 Edge
- python - Python中是否有任何函数来检查一个值是否是“不是nan”
- azure-devops - 在 yaml 管道中解析源位置时出错
- reactjs - Firebase 云消息在超出窗口焦点时不显示通知
- c++ - 为什么我不断收到重新定义类错误?C++
- c - C 解析 /proc/stat 以计算每个核心的当前 CPU 使用率