2011-06-22 2 views
1

Хорошо, поэтому я использую веб-службы Microsoft и AJAX для получения информации из базы данных SQL для использования с java-скриптом на стороне клиента. И мне интересно, какой лучший метод. Прежде чем я начал работать над проектом, веб-службы были настроены для возврата списка C#, заполненного некоторыми объектами. Эти переменные объектов (ints, string и т. Д.) Содержат данные, которые я хочу использовать. Конечно, java-скрипт не может многое сделать с этим, насколько мне известно.Отправка информации между JavaScript и веб-сервисами с использованием AJAX

Затем я изменил веб-службу, чтобы вернуть 2D-массив, но скрипт java запутался, и, насколько мне известно, я не могу обработать 2D-массив, возвращенный с C#. Затем я попытался использовать обычный массив, но тогда найденное свойство length массива в JS не переносится, поэтому я не смог бы заготовить цикл for через все элементы, потому что не было никакого способа узнать, как многие элементы были.

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

ответ

1

EDIT

Во-первых, я предполагаю, что вы используете веб-сервиса на основе SOAP. По SOAP, более или менее я говорю о веб-сервисе (в данном случае C#), который генерирует XML-сообщения для приема запросов на данные и отправки результатов от этих запросов. Вы можете узнать больше о SOAP: http://en.wikipedia.org/wiki/SOAP

Переход с веб-сервиса C# на клиентское приложение C# довольно прост, так как Visual Studio автоматически генерирует класс пользователя для вашего клиентского приложения. Пример этого: http://my.execpc.com/~gopalan/dotnet/webservices/webservice_csharp_client.html (хотя я считаю, что Visual Studio имеет лучшую интеграцию, чем показывает этот пример).

Более или менее ваш JavaScript должен будет создать соответствующий запрос SOAP (XML) для вашего WebService, чтобы понять, какой метод вы хотите вызвать. После того, как он был вызван, вам нужно будет использовать JavaScript для анализа ответа (также XML) для данных, которые вы хотите (jQuery - great for this).

Ниже представлена ​​библиотека, которая поможет вам сделать запрос и получить ответ с вашего сервера. http://www.ibm.com/developerworks/webservices/library/ws-wsajax/

Вот подобный вопрос на ту же тему с довольно хорошим примером: Simplest SOAP example

Позволь мне знать, если это то, что вы ищете. Надеюсь, поможет!

ORIGINAL

Ваши данные (2D массив, список и т.д.) сериализации в XML.

Таким образом, вам понадобится ваш Javascript для анализа XML и не рассматривать его как литературные объекты C#.

ИЛИ как keatch сказал, вернуть JSON

+0

У меня возникли проблемы с поиском много информации об использовании XML, чтобы сделать это, вы знаете хороший ресурс? Благодаря! –

+0

@ COB-CSU-AM - см. Мой обновленный ответ. –

+0

Спасибо, пучки! –

0

Попробуйте это в сервис:

[WebMethod] 
[ScriptMethod(ResponseFormat = ResponseFormat.Json)] 
public List<SomeObject> name() 
{ 
    .... 
} 
Смежные вопросы