드러밍 모듈 패턴과 녹아웃을 사용하여 양식을 바인딩합니다. 해당 양식 (등록)으로 데이터를 입력하면 MVC4 웹 메소드에 다시 게시해야합니다. 여기 Jquery Ajax를 통한 웹 서비스 매개 변수
은 (단순 CONSOLE.LOG 사용) 데이터를 캡처하고이를 검증, 내가하려고하면/*
Requires JQuery
Requires Knockout
*/
op.TestCall = function() {
// Private Area
var _tmpl = { load: "Loading", form: "RegisterForm"};
var
title = ko.observable(null)
template = ko.observable(_tmpl.load),
msg = ko.observable(),
postData = ko.observable(),
PostRegistration = function() {
console.log("Ajax Call Start");
var test = GetPostData();
$.ajax({
type: "POST",
url: obj.postURL, //Your URL here api/registration
data: GetPostData(),
dataType: "json",
traditional: true,
contentType: 'application/json; charset=utf-8'
}).done(Success).fail(Failure);
console.log("Ajax Call End");
},
GetPostData = function() {
var postData = JSON.stringify({
dummyText1: dummyText1(),
dummyText2: dummyText2(),
});
return postData;
}
return {
// Public Area
title: title,
template: template,
dummyText1: dummyText1,
dummyText2: dummyText2
};
}();
컨트롤러 코드가
// POST api/registration
public void Post(string data)
{
///TODO
}
지금에 따라 간단 JQuery와 코드 jslint.com에서는 유효한 Json입니다.
나는
데이터로 데이터를 하드 코딩하는 시도 : "{데이터 : '{\'이름 \ '\'니얼 \ '}'}", 는하지만 여전히 난에, null를 얻을 내 웹 방법.
추가 내 포스트가 제어의 방법,하지만 여전히 유익한 결과
- 에도 JSON.Stringify
data: JSON.stringify(data)
시도하지만 여전히 나는 내 웹 메소드에 null을 얻을 수있는 태그
[System.Web.Script.Services.ScriptMethod(UseHttpGet = false, ResponseFormat = System.Web.Script.Services.ResponseFormat.Json)]
.
해결 방법을 찾을 수 없습니다.
비슷한 문제가이 링크 @ 발견 된 http://forums.asp.net/t/1555940.aspx/1 도 Passing parameter to WebMethod with jQuery Ajax는 하지만 나에게 도움이되지 않았다 :(
이
나는 그 접근법으로 할 수 없다. 나는 JSON.stringify를 사용하여 원하는 것을 얻을 필요가있다. 나는 내 질문을 조금 업데이트했다. 대답 해줘서 고마워. :) – Shubh