尝试使用AJAX进行忘记密码并获取"Internal Server Error [500]"



所以我试图做忘记密码方法,用户输入他的电子邮件和JavaScript提示警报并将其发送到WebService

我认为我的问题出在 Jquery 方面,因为当我使用"调用"方法运行 WebService.asmx 时,电子邮件发送成功! 但是当我尝试在 Chrome 上运行索引时.html它会给我"内部服务器错误 [500]"。

所以。。 这里是 Jquery 代码:

$(document).ready(function () {
wireEventsLoginPage();

}(;

function wireEventsLoginPage() {
$('#forgetPassword').unbind('click').click(function () {
var email = window.prompt("Write Your Email Here", "");
$.ajax({
url: WebServiceURL + "/ForgotPassword",
dataType: "json",
type: "POST", //use only POST!
data: JSON.stringify(email),
contentType: "application/json; charset=utf-8",
error: function (jqXHR, exception) {
alert(formatErrorMessage(jqXHR, exception));
},
async: false,
success: function (data) {
var res = data.d;
if (res == 'Email Sent') {
alert("Password Sent!");
}
else {
alert("Couldnt recovery password");
}
}
});
});

}

这是服务器端:

[WebMethod]
public string ForgotPassword(string emailPar)
{
string output = "ERROR USER!";
try
{
comm.CommandText = "SELECT * FROM FOOTUSERTB WHERE EMAIL= '" + emailPar + "'";
comm.Connection.Open();
SqlDataReader reader = comm.ExecuteReader();
if (reader.Read())
{
var client = new SmtpClient("smtp.gmail.com", 587)
{
Credentials = new NetworkCredential("testfootapp@gmail.com", "*******"),
EnableSsl = true
};
client.Send("testfootapp@gmail.com", reader["EMAIL"].ToString(), "Your Password Recovery", "Your password is: " + reader["PASSWORD"]);
output = "Email Sent";
}
}
catch (Exception ex)
{
output = ex.Message;
}
finally
{
comm.Connection.Close();
}
JavaScriptSerializer json = new JavaScriptSerializer();
return json.Serialize(output);
}

我希望能找到我的问题 非常感谢:)

它可能只是一个路由问题,与您的服务器代码成功运行有关。

内部服务器错误通常意味着您的程序无法访问您请求的 URL。原因各不相同。

您确定可以通过"WebServiceURL"变量中的地址访问您的 Web 服务吗?

相关内容

  • 没有找到相关文章

最新更新