2009-11-26 2 views
0

У меня есть служба скриптов в asp.net, и мне нужно использовать этот WS из javascript, используя JSONP (инъекция тега скрипта, поскольку это кросс-домен, не вызов $ .ajax()) ,Потребление сценария ASP.net в javascript

В этом случае, когда вход в веб-метод является сложной структурой, я должен создать структуру ввода на клиенте. Как происходит сопоставление структуры клиентской стороны с параметром стороны сервера?

Для того, чтобы этот вопрос немного более ясным для неспособным ответов : -

Предположим, что у меня есть как-то создал комплекс ввода и передал его метод сценариев в . Теперь, как же соответствия/vaidation моей структуры входного к входному параметру метод сценария произойдет (или в других словах, что является основой соответствия?)

ответ

0

В этом случае вы отправите структуру JSON на основе вашего обнаружения параметров. Если это то же самое, что и услуга, то ваш вызов будет успешно завершен.

+0

Что это значит ... это все дело вопроса! – Ajay

1

Вы можете передать сложные типы в веб-сервис без использования инфраструктуры Microsoft.Ajax. Я написал небольшой пример, используя JQuery.

Предположим, у вас есть следующий C класс # используется в качестве параметра для WebMethod:

namespace JQueryWebServiceTest 
{ 
    public class TwoStringsTogether 
    { 
     public string StringA; 
     public string StringB; 
    } 
} 

WebMethod имеет следующую подпись:

TwoStringsTogether TransformTwoStringsTogether(TwoStringsTogether input) 

Вы можете вызвать метод как это:

$.ajax({ 
    type: "POST", 
    contentType: "application/json; charset=utf-8", 
    url: "TestService.asmx/TransformTwoStringsTogether", 
    data:"{" + 
     "input: {" + 
     "__type: 'JQueryWebServiceTest.TwoStringsTogether'," + 
     "StringA: 'HalloA'," + 
     "StringB: 'HalloB'" + 
     "}" + 
    "}", 
    dataType: "json", 
    success: SuccessCallback 
}); 

Обратите внимание на параметр __type, без которого он не будет работать.

Смежные вопросы