2017-02-24 3 views
0

여기까지 자습서에서 찾을 수없는 문제가 있습니다. 암호를 잊어 버린 누군가를 위해 암호가 포함 된 전자 메일을 보내야하는 웹 서비스 및 C# 코드가 있습니다. 나는 서비스 측에 컨트롤러를 가지고 있는데, 아약스 코드가있는 JavaScript와 내 애플리케이션 모바일에 HTML이있다.Ajax에서 오류 만 반환합니다.

C#을 컨트롤러 :

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; 
      } 
     } 
    } 
} 

자바 스크립트 :

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> 
+1

무엇이 오류입니까? – Jonno

+2

나는 그 질문이 무엇인지 이해하지 못한다. 비밀리에 비밀 번호를 일반 텍스트로 저장해서는 안되기 때문에 사람들에게 비밀 번호를 보낼 수 없어야합니다. – Slepz

+0

유용한 정보는 브라우저 **에서 볼 수있는 응답입니다. ** 도구 ** 네트워크 탭 - 즉 귀하의 요청에 대한 응답으로 서버가 정확히 무엇을 보내고 있습니까? –

답변

0

먼저 모든 사람들에게 감사하는 사람들 나를 도우려고 했어. 내 문제를 해결할 방법을 찾았습니다. 들어 같은 문제는 해결 방법을 수행가 누구 :

유형 : 을 "GET"// 데이터 : JSON.stringify (친구에게 보내기 덧글), URL : linkServidor + "? API/ForgotPassword/GetForgotPassword 친구에게 보내기 덧글 ="+ 친구에게 보내기 덧글, contentType : "application/json",

코드의이 부분을 변경하여 데이터를 가져 와서 변수를 URL 본문에 넣었습니다. 나는 누군가를 도울 수있을 때까지 기다린다. 그리고 저를 도우 려 한 모든 사람들에게 정말 감사드립니다.

관련 문제