Для того, чтобы изменить свой вышеописанный способ, чтобы отправить это будет выглядеть как-то ниже:
[WebInvoke(UriTemplate = "/tools/data/SearchAll")]
public JsonArray SearchAll(string tool, Dictionary<int,string> filters)
{
}
Ваш requestBody для указанного выше метода может выглядеть, как показано ниже (вы можете проверить с помощью Fiddler):
{
"tool": "enter the value of tool parameter",
"filters" :
{
{"Key":1,"Value":"Test"},
{"Key":2,"Value":"Test1"}
}
}
Примечание:
Если предположить, что ключ, значение пары быть INT, строка
Когда у вас есть метод POST, строки запроса не поддерживается.
Также переименуйте свой метод, который делает его действительным в соответствии с принципами REST, где имена методов указывают ресурс на сервере, который выполняет задачу. Метод GetAll с атрибутом WebInvoke не является хорошей практикой.
Метод по умолчанию для WebInvoke - «POST», поэтому я не указываю его явно.
Спасибо за это, как бы я идти о вызове его из JQuery – Burt
Вы можете найти некоторые ссылки, которые могут помочь вам вызвать службу из JQuery: http://www.codeproject.com/Articles/128478/Consuming-WCF -REST-Services-Using-jQuery-AJAX-Call и http://blogs.msdn.com/b/brunoterkaly/archive/2011/11/17/how-to-consume-restful-services-using-jquery-and -или-javascript.aspx – Rajesh