Javascript Ajax只是返回错误
我有一个问题,直到现在我在这里的任何教程中都找不到。我在Web服务和C#中有一个代码,它必须为忘记密码的人发送一封带有密码的电子邮件。我在服务端有一个控制器,在我的移动应用程序中有一个带有ajax代码的JavaScript和一个html 代码如下: C#控制器:Javascript Ajax只是返回错误,javascript,c#,jquery,ajax,web-services,Javascript,C#,Jquery,Ajax,Web Services,我有一个问题,直到现在我在这里的任何教程中都找不到。我在Web服务和C#中有一个代码,它必须为忘记密码的人发送一封带有密码的电子邮件。我在服务端有一个控制器,在我的移动应用程序中有一个带有ajax代码的JavaScript和一个html 代码如下: C#控制器: using LuppBusiness.DataLayer.DAL; using LuppBusiness.DataLayer.Model; using System; using System.Collections.Generic;
using LuppBusiness.DataLayer.DAL;
using LuppBusiness.DataLayer.Model;
using System;
using System.Collections.Generic;
using System.IO;
using System.Net;
using System.Net.Mail;
using System.Text;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Configuration;
using System.Web.Http;
using System.Net.Http;
namespace LuppAppService.Controllers{
public class ForgotPasswordController : ApiController{
public HttpResponseMessage GetForgotPassword(string email) {
//UsuarioDAL usu = new UsuarioDAL();
//var obj = usu.EmailUsuario(email);
EnviarEmailTxt("Recuperação de Senha", "teste", email);
return new HttpResponseMessage()
{
Content = new StringContent("200")
};
}
public static bool EnviarEmailTxt(string Assunto, string mensagem, string destinatario)
{
string sUserName = WebConfigurationManager.AppSettings["MENSAGEM.USERNAME"];
string sPassword = WebConfigurationManager.AppSettings["MENSAGEM.PASSWORD"];
string sBobdy = mensagem;
MailMessage objEmail = new MailMessage();
objEmail.To.Add(destinatario);
objEmail.From = new MailAddress(sUserName.Trim());
objEmail.Subject = Assunto;
objEmail.IsBodyHtml = true;
objEmail.Body = sBobdy;
string strSmtp = WebConfigurationManager.AppSettings["MENSAGEM.SMTP"];
int porta = Convert.ToInt32(WebConfigurationManager.AppSettings["MENSAGEM.PORT"]);
bool ssl = Convert.ToBoolean(WebConfigurationManager.AppSettings["MENSAGEM.SSL"]);
SmtpClient smtp = new SmtpClient(strSmtp, porta /* TLS */);
smtp.UseDefaultCredentials = true;
smtp.EnableSsl = ssl;
smtp.Credentials = new NetworkCredential(sUserName, sPassword, "");
try
{
smtp.Send(objEmail);
return true;
}
catch (Exception e)
{
return false;
}
}
}
}
Javascript:
function forgotPassword() {
var enviar = $("#es-mail").val();
$.ajax({
type: "GET",
async: true,
data: JSON.stringify({ email: enviar }),
url: linkServidor + "api/usuario/GetForgotPassword",
contentType: "application/json; charset=utf-8",
success: function (data) {
navigator.notification.alert('Enviamos um e-mail para sua conta.', fn_ErroApp(), "LuppApp");
},
error: function (msg) {
navigator.notification.alert('Estamos verificando o problema.', fn_ErroApp(), "Ocorreu um problema.");
}
});
}
和HTML:
<section id="esqueci-senha" style="display:none;">
<!--<p id="feedback">not logged in</p>-->
<div class="caixa-dados-login">
<form>
<div class="barra-superior">
<img src="images/trave-horizontal.png" />
</div>
<div class="content-dados">
<div class="form-user">
<label for="mail"><strong> Email: </strong></label>
<input type="text" class="email" id="es-mail">
</div>
</div>
<div class="barra-inferior"><img src="images/trave-horizontal.png" /></div>
<div class="btn-entrar">
<button type="button" class="btn btn-default btn-enviar-senha" onclick="forgotPassword()">Enviar</button>
</div>
</form>
</div>
</section>
电子邮件:
羡慕
首先感谢所有试图帮助我的人。我找到了解决问题的办法。对于有相同问题的人,请遵循以下解决方案:
键入:“获取”,
//数据:JSON.stringify(envisar),
url:linkServidor+“api/ForgotPassword/GetForgotPassword?enviar=“+enviar,
contentType:“应用程序/json”
我更改了代码的这一部分,取出数据并将变量放入url的主体中。我等着能帮助别人。我真的很感谢所有试图帮助我的人。有什么错吗?我不明白问题是什么。另一方面,您不应该向他人发送密码,因为您不应该将他们的密码存储为纯文本。有用的信息是您在“浏览器开发人员工具”网络选项卡中看到的响应,即服务器响应您的请求发送回的确切内容对不起,我现在才看到问题。错误是ajax总是落在错误函数中,我无法理解原因……大家好。我解决了我的问题。我只是更改了ajax,将变量的值放入链接并删除数据。这样:“url:linkServidor+”api/usuario/GetForgotPassword/enviar=“+enviar,contentType:“application/json”,谢谢您的帮助。