У меня есть веб-сервис, который возвращает объект
[WebMethod]
public List<User> ContractorApprovals()
У меня также есть веб-сервис, который принимает объект
[WebMethod]
public bool SaveContractor(Object u)
Когда я звоню через веб-сервис через Jquery:
function ServiceCall(method, parameters, onSucess, onFailure) {
var parms = "{" + (($.isArray(parameters)) ? parameters.join(',') : parameters) + "}"; // to json
$.ajax({
type: "POST",
url: "services/"+method,
data: parms,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
if (typeof onSucess == 'function' || typeof onSucess == 'object')
onSucess(msg.d);
},
error: function(msg, err) {
$("#dialog-error").dialog('open');}
});
Я могу назвать первый просто отлично. Моей функции onSucess передается объект javascript, точно структурированный как мой объект User в сервисе.
Однако теперь у меня проблемы с возвратом объекта на сервер.
Я принимаю Object в качестве параметра на стороне сервера, поэтому не могу понять, что там есть проблема. Так что я думаю, что что-то не так с пармами на стороне клиента, но я не уверен, что ...
Я что-то делаю для эффекта
ServiceCall("AuthorizationManagerWorkManagement.asmx/ContractorApprovals",
"",
function(data,args){$("#div").data('user',data[0])},
null)
тогда
ServiceCall("AuthorizationManagerWorkManagement.asmx/SaveContractor",
JSON.stringify({u: $("#div").data("user")}) //dont work $("#div").data('user'), //These also do not work: "{'u': ' + $("#div").data("user") + '}", NOR JSON.stringify({u: userObject})
function(data,args){(alert(data)},
null)
Я знаю, что первый сервисный вызов работает, я могу получить данные. Во-вторых, метод onFailure выполняется вместо «OnSuccess».
Есть идеи?
UPDATE:
Я отправил свой последний кодовый блок в чек: JSON.stringify({u: $("#div").data("user")})
Теперь я получаю Invalid object passed in, member name expected. (1):
Но я понятия не имею, что значит ... Google обнаружил множество ошибок, но не проблема, как у меня ...