javascript - 使用 javascript/ajax 将密码值传递到 php 页面

标签 javascript

iam 使用简单的插入脚本函数将值从注册 html 页面传递到注册 php 页面。 这是我的脚本:

function insert() {
// Optional: Show a waiting message in the layer with ID login_response
document.getElementById('insert_response').innerHTML = "Just a second..."
// Required: verify that all fileds is not empty. Use encodeURI() to solve some issues about character encoding.
var dispname= encodeURI(document.getElementById('disp_name').value);
var firstname= (document.getElementById('first_name').value);
var lastname= (document.getElementById('last_name').value);
var gender= (document.getElementById('genderreg').value);
var day= (document.getElementById('day').value);
var month= (document.getElementById('month').value);
var year= (document.getElementById('year').value);
var country= (document.getElementById('countryreg').value);
var city= (document.getElementById('cityreg').value);
var suburb= (document.getElementById('suburbreg').value);
var email= (document.getElementById('emailreg').value);
var password= (document.getElementById('regpassword').value);
var code= (document.getElementById('code').value);
var service= (document.getElementById('termservice').value);

// Set te random number to add to URL request
nocache = Math.random();
// Pass the login variables like URL variable
http.open('get', 'register_insert.php?site_url='+dispname+'&fname= '+firstname+'&lname= '+lastname+'&gender= '+gender
          +'&day= '+day+'&month= '+month+'&year= '+year+'&country= '+country+'&city= '+city+'&suburb= '+suburb
          +'&email= '+email+'&password= '+password+'&code= '+code+'&service= '+service+'&nocache= '+nocache);
http.onreadystatechange = insertReply;
http.send(null);
}

我只是有一个小问题,将这样的密码值从 html 传递到 php 页面是否是一个好习惯。如果这不是一个好主意,那么这样做的最佳理由是什么。

提前感谢您的建议。

最佳答案

是的,通常我不会立即建议某人去 javascript 库,但我对 AJAX 是个异常(exception)。让这种事情跨浏览器工作根本不值得。使用 jQuery 可以减轻自己的压力。

另请查看 jQuery 表单插件 - 它会以非常简单的方式为您完成这一切。该网站位于http://malsup.com/jquery/form/ .

但是为了回答你的问题,我会使用 POST 数据。一般经验法则是,如果您要检索某些内容,请使用 GET,但如果您要发送或更改某些内容,请使用 POST。

另一个快速提示是,通过执行以下操作可以使代码更加清晰:

var fields = {'disp_name', 'first_name', 'last_name', 'genderreg' /* etc ... */ ];
var values = {};
for (var i = 0, l = fields.length; i < l; ++i) {
    values[fields[i]] = document.getElementById(fields[i]).value;
}

http.open(
    'get',
    'register_insert.php'
    + '?site_url=' + values.dispname
    + '&fname=' + values.first_name
    + '&lname=' + values.last_name /* etc */
);

...但我认为这并不是那么重要。

关于javascript - 使用 javascript/ajax 将密码值传递到 php 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/800393/

相关文章:

javascript 删除给定字符串的最后一次出现

javascript - 我们可以将 Highstocks 功能扩展到 Highcharts 吗?

javascript - 实时 D3 气泡图(圆包)

javascript - 聚焦时jquery返回默认输入值

javascript - 在将历史推送到路由器之前验证 token

javascript - fullcalendar v5.9 中每个资源的标题颜色不同

javascript - 使用 Jquery 检查/取消检查输入框

javascript - 为什么 for 循环修改行(Javascript)中未引用的附加变量?

javascript - 使用 AngularJS Ng-if 函数的 HTML DOM

javascript - 跨域页面刷新