2013-06-10 4 views
2

사용하고있는 ajax 요청을 통해 컨트롤러에 데이터를 전송하는 데 문제가 있습니다.Ajax를 통해 컨트롤러에 텍스트 보내기

내보기에 현재

, 나는

<p>Please enter your email and phone number registered with the account</p> 
    <table id="Table"> 
    <tr> 
     <td>Email</td> 
     <td> <input id = "email" type ="text" name= "email" /></td> 
    </tr> 
    <tr> 
     <td>Phone Number</td> 
     <td> <input id = "phone" type ="text" name= "phone" /></td> 
    </tr> 
</table> 

<input type="button" value="Submit" id="sendMSG"> 

나는이 함수를 호출 할 때

<script src="http://code.jquery.com/jquery-1.9.1.js"> 
     </script> 

<script> 
$("#sendMSG").click(function() { 
    $.ajax({ 
     type: "POST", 
     url: '@Url.Action("SendMessage", "SMSTest")', 
     dataType: "JSon", 
     data: { "email": $("#email").toString(), "phone": $("#phone").toString()}, 
     success: function (data) { 
      console.log(data); 
     }, 
     error: console.log("it did not work"), 
    }); 
}); 
</script> 

, 내 SMSTestController

public JsonResult SendMessage(string email, string phone) 
     {} 

로 전송 다음 스크립트를 가지고있는 I 현재 전자 메일과 전화로받을 값은 [object Object]이며 유형은 st입니다. 버튼을 클릭 한 후 내 이메일과 전화 모두에 전화를 겁니다.

내가 입력 한 실제 문자열을 컨트롤러에 직접 입력하는 방법에 대한 아이디어가 있습니까? 당신은 입력 필드의 값을 잡는되지 않습니다

<script> 
$("#sendMSG").click(function() { 
    $.ajax({ 
     type: "POST", 
     url: '@Url.Action("SendMessage", "SMSTest")', 
     dataType: "JSon", 
     data: { "email": $("#email").val(), "phone": $("#phone").val()}, 
     success: function (data) { 
      console.log(data); 
     }, 
     error: console.log("it did not work"), 
    }); 
}); 
</script> 
+2

입력 값을 얻으려면, 당신이 작성해야합니다 : ($ ("# 메일") 발을). –

+0

@ Joffrey Kem 고마워요! 감사합니다 : D – user2094139

+0

환영합니다 :) –

답변

3

아니라, 당신이 보내는 전체 자체가 문자열로 객체 : 당신의 자바 스크립트가 잘못

감사

3

당신은 val()를 사용해야합니다.

시도 :

data: { "email": $("#email").val(), "phone": $("#phone").val()}, 
+1

.toString()은 실제로 JavaScript 함수입니다. –

+0

그래서 ... 그것을 사용되지 않습니다 :) – Liam

+0

를 보조 노트에, 나는이있는 경우 경우, 내 컨트롤러에서 다음 (string.IsNullOrEmpty (model.phone)) { 반환 JSON (새 { Message = "전화가 필요합니다", Status = "error"}, JsonRequestBehavior.AllowGet); } 보기에서 경고를 표시하는 방법은 무엇입니까? – user2094139

관련 문제