我正在为网站建立用户注册。它使用AJAX发送数据。我创建了一个对象来存储用户数据,并通过函数将该对象发送到服务器。
sendUserData(passenger, "user_registration.php");
注意:
signupUser();
。sendUserData()
是用于发送用户详细信息的功能。passenger
是存储用户数据的对象。sendUserData();
在链接到HTML页面的单独脚本中。(全局范围)这是我用来执行此操作的代码
//Sign Up A User
var signupUser = function () {
// User Object
var passenger = {
userName : document.getElementById("userFirstName").value,
userEmail : document.getElementById("userEmail").value,
country : document.getElementById("country").value,
password : document.getElementById("userPassword").value,
passwordVerify : document.getElementById("userPasswordVerify").value,
passwordStatus : Boolean
};
// Verifies the password ("password" and "re-enter password")
verifyPassword(passenger.password,passenger.passwordVerify,passenger.passwordStatus);
if (passenger.passwordStatus == true) {
sendUserData(passenger, "user_registration.php");
console.log(passenger);
}
};
问题在于调用按钮上的功能signupUser()
,
函数在verifyPassword();
之后停止。
sendUserData(passenger, "user_registration.php");
时,出现错误“未在1:1:1定义乘客”
请帮助我找到答案。 谢谢。
编辑:
sendUserData();
功能
这在链接到HTML页面的单独的javascript文件中。
function sendUserData (userDetails, destinationPage, functionToExecute) {
var userDetailsJson = JSON.stringify(userDetails);
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function () {
if(xhr.readyState == 4 && xhr.status == 200 ) {
console.log(userDetailsJson);
window.alert("Successfully Posted");
console.log(xhr.responseText);
if(functionToExecute) {
functionToExecute();
}
}
};
xhr.open("POST", destinationPage, false);
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhr.send("m=" +userDetailsJson);
}
答案 0 :(得分:0)
因此,这取决于theta1_interp = @(t) interp1(theta1t,theta1,t,'spline');
theta2_interp = @(t) interp1(theta2t,theta2,t,'spline');
f = @(t,y) [y(2)+theta1_interp(t)*y(1)*sin(y(2));
theta2_interp(t)*(y(2)^2)+y(1)-y(1)-y(1)-(1+a)*y(2)-k*(y(2)+(1+a)*y(1))];
不能解决。
您将其初始化为passenger.passwordStatus == true
,但它并没有按照您认为的那样做。
然后将参数传递给passwordStatus: Boolean
函数,该函数看起来类似于:
verifyPassword
此重新分配 function verifyPassword( password, retype, status) {
// verify...
status = true;
}
,完全不影响外部范围内的status
。
因此,当需要检查状态时,您仍在比较passenger.passwordStatus
,这是行不通的。
您可能想要更多类似的东西:
Boolean == true
根据需要让if( verifyPassword( passenger.password, passenger.passwordVerify)) {
sendUserData(...);
}
进行verifyPassword
或return true;
。
并完全摆脱这种return false;
的事情。