Не трать мой Веб Service с Аякса Хкери

Это мой код

$.ajax({
    type: "POST",
    url: 'http://localhost/QM/QMUI/WebServicePrueba.asmx/ObtenerCategorias',
    //url: "CategoriaK.aspx/ObtenerCategorias",//ojitos
    data: "{IdCategoria :" + -1 + " }",   // -1 trae la lista completa
    dataType: "json",
    async: false,
    cache: false,
    contentType: "application/json; charset=utf-8",
    success: function (datos) {

        //Valido si hubo Error, si es diferente a -1 es que hubo error
        var existeError = datos.d.indexOf('Error');
        if (existeError == -1) {
            registrosListado = JSON.parse(datos.d);
        }
        else {
            Error = datos.d;
            if (Error != "") {
                alert(Error);
                return false;
            }
        }
    }
});

Это моя Веб услуга

#region <<ObtenerListadoCategorias>>
    [WebMethod(EnableSession = true)]
    public string ObtenerCategorias(Int16 IdCategoria)
    {
        string mensaje = "";
        DataTable DataTable = new DataTable();
        dbo.BaseDatos db = null;
        db = new dbo.BaseDatos(ConfigurationManager.ConnectionStrings["cnn"].ToString());
        SqlParameter prmIdCategoria;

        try
        {
            prmIdCategoria = new SqlParameter("@IdCategoria", SqlDbType.VarChar, 20);
            prmIdCategoria.Value = IdCategoria;


            DataTable = db.ObtenerDatosComoDataTable("spg_ListadoCategoria", prmIdCategoria);
            //dataset.TableName = "Usuario";
            mensaje = JsonConvert.SerializeObject(DataTable);
        }
        catch (Exception ex)
        {
            mensaje = ex.Message;
        }
        finally
        {
            db.Finalizar();
        }
        return mensaje;
    }
    #endregion

Это моя Веб услуга

Es Mi servicio pasandole parametro -1

Si vuelvo a recargar ese link, me dice que ya no existe

Подсказки??

1
задан 05.01.2017, 20:28
0 ответов

В твоем коде jQuery ты объявляешь, что ты потратишь услугу типа type: "POST", однако, поскольку ты это можешь тратить с браузера логику, он говорит мне, что твоя услуга ASMX - из-за default типа GET, измени следующую линию в тебе ajax и реализуй доказательство:

$.ajax({
    type: "GET",
    url: 'http://localhost/QM/QMUI/WebServicePrueba.asmx/ObtenerCategorias',
    ....

Или в Вашем случае, заяви в твоей услуге ASMX типа POST.

2
ответ дан 03.12.2019, 17:51

Тебе не хватает WSDL в url:

url: 'http://localhost/QM/QMUI/WebServicePrueba.asmx/ObtenerCategorias?WSDL',
1
ответ дан 03.12.2019, 17:51