aspx 3.5에서 연락처 양식을 작성하고 jQuery를 사용하여 웹 서비스 (asmx)로 보냅니다.
웹 서비스가 성공 또는 오류 코드를 반환해야합니다. 문제는 웹 메서드에서 배열이 아니라 단일 값을 얻는다는 것입니다. 나는 아약스에서 좀 새로운 것이지만 많은 결과를 얻지는 못했지만 많은 해결책을 시도했습니다. 당신이 나에게 무엇을해야하는지의 원칙을 설명 할 수만 있다면 또한 좋을 것입니다. 불을 지르고 자사을에서json 데이터를 asmx (aspx에서) jquery를 사용하여 보내는 방법?
$(document).ready(function()
{
$("#submit").click(function(event)
{
$.ajax
({
type: "POST",
url: "RVContactFormMailer.asmx/HelloToYou",
data: "{'name': '" + $('#name').val() + "', 'company':'" + $('#company').val() + "', 'phone':'" + $('#phone').val() + "', 'email':'" + $('#email').val() + "', 'questions':'" + $('#questions').val() + "'}" ,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
AjaxSucceeded(msg);
}, error: AjaxFailed
});
});
가 제대로 전송 :
이
는 클라이언트 쪽{'name': 'jhon', 'company':'example', 'phone':'123', 'email':'[email protected]', 'questions':'hello'}
ASMX 코드 (그 예 이름을 무시하십시오입니다 :
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ScriptService] // To allow this Web Service to be called from script, using ASP.NET AJAX or JQuery.
[ToolboxItem(false)]
public class RVContactFormMailer : System.Web.Services.WebService
{
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string HelloToYou(string name)
{
return "Hello " + name;
}
}
을 내가 디버깅 할 때 입력 매개 변수 "이름"이 하나의 문자열 만 포함되어 있음을 알 수 있습니다. 전체 json 문자열 t을 얻는 방법을 모르겠습니다. hat 서비스에 전송하고 모든 양식 데이터가 들어 있습니다. 문자열 배열 등으로 desirialize하고 처리하고 싶습니다. 어떻게 할 수 있습니까?
OTHER 옵션은 클라이언트 측에서 복잡한 객체를 생성하고 서버에서 복잡성이있는 명명 된 객체로 역 직렬화합니다 단일 서버 측 오브젝트가 전달되도록합니다. –
마크 더 많은 정보/예를 들어 주시거나 일부 기사에 대한 링크를 제공해 주시겠습니까? 덕분에 – eran
나는 정보를 사용합니다 : http://stackoverflow.com/questions/2785441/asp-net-json-web-service-post-form-data 및 json으로 복잡한 개체를 보냅니다. 감사합니다. – eran