2015-03-26 7 views
0

Привет, Я пытаюсь связать несколько параметров в сообщении ajax, но я получаю следующую ошибку.
Can't bind multiple parameters to the request's content.
Вот мой код
MVC Api Controller SideAjax: Невозможно связать несколько параметров

public void Post(Email email, PInformation pInformation) 
     { 
//do something. 
     } 

Ajax Call

var mail = { mail: 'myemail', Password: 'pass' }; 
var ppInformation = { FirstName: 'James', LastName: 'Jones' }; 
var datum = { email: mail, pInformation: ppInformation }; 
$.ajax({ 

url: 'url', 
type: 'POST', 
contentType: 'application/json; charset=utf-8', 
dataType: "json", 
data: JSON.stringify(datum), 
success: function (result) { 
    } 
}); 

ответ

1

Вы должны использовать композитный, так:

$.ajax({ 
    ... 
    data: {form: datum}, 
}); 

Ваш метод управления:

public String controlerMethod(@RequestBody FormData form){ 
... 
} 

Ваша форма модель:

class FormData { 
    Email email; 
    PInformation pInformation; 

    // getters & setters 
} 

Это решение должно работать, но я не могу сказать, что есть какое-то множественный RequestBody доступного для метода POST.

+0

да так он будет работать – ozil