php - 使用ajax从php文件中检索数据库密码
问题描述
我有一个 js 文件,它创建一个表单来收集客户联系信息。提交表单时,它会向数据库发送一个 url 字符串。但是,该字符串需要包含令牌和密码才能登录数据库。所以我需要以某种方式将令牌和密码隐藏在一个 php 文件中,并在客户端点击提交时将其添加到字符串中。到目前为止,我能够使用 .get 或 .ajax 从 php 文件中获取数据,但是 js 文件已经使用了 .ajax 请求,我不知道如何将它们组合在一起。有任何想法吗?谢谢!
function initPopup() {
// open on load
if (xanadu_settings['show_popup'] == 'open') {
openXanadu();
}
// open on mouse out
else {
$('html > body').mouseleave(function() {
if (!popup_visible) {
openXanadu();
}
});
}
}
// This gets the login string i need to add to the form subit string below
var dataString = 'login';
$.ajax({
type: 'GET',
url: "login.php",
data: {data : dataString},
success: function(data) {
returnedvalue = data;
console.log(data);
}
});
$("#xanadu_wrapper form").validate({
rules: {
name: "required",
email: {
required: true,
email: true
}
},
messages: {
name: "Please specify your name",
email: {
required: "We need your email address to contact you",
email: "Your email address must be valid"
}
},
submitHandler: function(form, data) {
var report_url = "http://myLinkToTheAPI";
var submit_data = {
// token: $(form).find('input.token').val(),
// pass: $(form).find('input.pass').val(),
campaignId: $(form).find('input.campaignId').val(),
ipAddress: $(form).find('input#ipAddress').val(),
source: $(form).find('input.source').val(),
name: $(form).find('input.name').val(),
email: $(form).find('input.email').val(),
phone: $(form).find('input.phone').val(),
}
var form_submitted = false;
var submit_data = $(form).serialize();
$.ajax({
type: 'GET',
url: report_url,
data: submit_data,
complete: function() {
if ( ($(form).attr('action') != '') && (form_submitted == false) ) {
$(form)[0].submit();
form_submitted = true;
}
$(form).find('input, button').attr('disabled', '');
//Thank you! We will contact you shortly.
$(form).after('<p class="success-alert">' + xanadu_settings['success_message'] + '</p>');
$(form).next('.success-alert').fadeIn();
console.log(form);
console.log(form_submitted);
if (xanadu_settings['prevent_after_submission'] == 'true') {
setBlockCookie();
}
}
});
setTimeout(function(){
if ( ($(form).attr('action') != '') && (form_submitted == false) ) {
$(form)[0].submit();
form_submitted = true;
}
}, 500);
}
});
解决方案
只是在 AJAX 调用中进行更新/插入?
当他们点击提交时,serializeArray() 表单,将表单数据传递到接收页面,并处理服务器上的所有数据库交互。您永远不应该在客户端上存储数据库信息。
推荐阅读
- python - 启动测试服务器时无法导入 Django
- c# - c# 在另一个按钮中使用局部变量
- tinyos - 在 TelosB 即 TinyOS 中运行 TestNetworkC.nc 时出现错误输出
- mininet - Mininet 净损失 <1%
- node.js - nodejs中的错误消息:后端返回代码400,正文为空
- c++ - std::move lambda 捕获中的 const std::vector
- javascript - CSS 动画会减慢桌面浏览器的速度,但不会减慢移动浏览器的速度
- citrus-framework - 如何使用 Citrus 框架单独运行测试方法?
- python - 如何安装 CVXPY / SCS 以与 GPU 一起使用?
- swift - Swift - 类方法中的 self.init() 没有创建正确的类型