Создание параметров REST для jQuery использует веб-сервис - PullRequest
0 голосов
/ 04 августа 2010

Я использую jQuery для использования созданного мной веб-сервиса, вход в настоящее время сериализован в JSON, а также вывод через jQuery AJAX.

Я бы хотел сделать службу более RESTful, добавив параметры строки запроса URI, чтобы пользователи могли получить доступ к одной и той же странице результатов поиска, строке запроса и т. Д., Когда они сохраняют URI в качестве своего состояния.

Я не верю, что мой веб-сервис нуждается в больших изменениях. Должен ли я получить доступ и переписать URI, используя jQuery? Если да, есть ли у кого-нибудь сообщения, демонстрирующие, как это сделать?

Спасибо

Веб-сервис:

/// <summary>
/// Summary description for WebService
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
[System.Web.Script.Services.ScriptService]
public class WebService : System.Web.Services.WebService
{
    [WebMethod]
    [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
    public OutputData updateProductsList(InputData request)
    {
        //...//

        return result;
    }

И запрос Ajax с использованием сериализации JSON:

//Build the ajax Request
    var req = { request: { qtype: "ProductName", query: queryText, page: resultPage, rp: rP} };

    $.ajax({
        type: "POST",
        url: "/webservice/WebService.asmx/updateProductsList",
        data: JSON.stringify(req),
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (msg) {

1 Ответ

1 голос
/ 04 августа 2010

Я не знаю о веб-сервисе, но на стороне jQuery, если qtype, query, page и rP должны быть вашими параметрами, просто измените:

data: JSON.stringify(req)
*От 1007 * до
data: req.request

или просто

var request: { qtype: "ProductName", query: queryText, page: resultPage, rp: rP} };
//and
data: request

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

Надеюсь, я получил ваш вопросправый.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...