Sounds like you need to make the resources the ajax is requesting public so they don't require authentication.
When an HTML <input type="password".. element is rendered after a post back (even an ajax post) it will be empty. This is by design for security.
You can hack around the issue, but it leaves the users password in plain text in the HTML where it is vulnerable.
If the risk is considered low enough for your project this is how you get around it in ASP.NET in the Page_Load event handler:
txtPassword.Attributes.Add("value", txtPassword.Text);
txtVerifyPassword.Attributes.Add("value", txtVerifyPassword.Text);
If you do this though when retreiving the value use:
string password = txtPassword.Attributes["value"];
Instead of:
string password = txtPassword.Text;