Ajax Jquery C#error request

Asked

Viewed 377 times

0

I am getting error 401 in a simple Ajax query with Jquery. Request:

    $().ready(function () {
        $.ajax({
            url: "Ajax/RetornoAjax.aspx/ObterResultados",
            type: "GET", //Caso não passe nenhum dado
            dataType: "json", //Informa que está esperando receber um json
            contentType: "application/json; charset=utf-8", //Headers da pagina que é feita a requisição
            async: true, //Informando que a requisição será feita de forma nao sincronizada com a execução dos outros scripts - como em segundo plano. De certa forma faz com que seu success só execute após a requisição ser totalmente processada
            success: function (result, status, request) {
                console.log(result[0]);

                //Note que o result geralmente exibe ou como Object ou Document dependendo do retorno. Não tenho certeza devido a ser json - que não sou muito familiarizado
                alert("Estado atual---\n" + status + "\nResultado: " + result);
                //Abaixo está listando os header do conteudo que você requisitou, só para confirmar se você setou os header e dataType corretos
                alert("Informações da requisição: \n" + request.getAllResponseHeaders());
                confirmationValue = result; //Repassa o retorno da requisição para teste futuro
            },
            error: function (request, status, erro) {
                alert("Problema ocorrido: " + status + "\nDescição: " + erro);
                //Abaixo está listando os header do conteudo que você requisitou, só para confirmar se você setou os header e dataType corretos
                alert("Informações da requisição: \n" + request.getAllResponseHeaders());
            },
            complete: function (jqXHR, textStatus) {
                alert("Chegou ao fim: : " + textStatus);
                //Exibindo o valor que você obeteve e repassou para o confirmationValue
                //Exibindo o valor que você obeteve e repassou para o confirmationValue
                alert("Confirmation value: " + confirmationValue);
            }
        });

    })   

Web Method:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.Services;
    using System.Data;
    using System.Web.Script.Serialization;

    namespace GestHos.PlanejamentosEstrategico.Indicador
    {
        public partial class RetornoAjax : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {

            }

            [WebMethod()]
            public static string ObterResultados()
            {
                JavaScriptSerializer js = new JavaScriptSerializer();

                string Json = js.Serialize("Sim");

                return Json;
            }

        }
    }

Error:

Retorno da Requisição

How to solve this problem?

1 answer

1

  • On the console there is nothing talking about "Same origin Policy".

  • Is displayed some error?

  • Only "Undefined" appears on the console

  • well then there is problem when displaying the data on the screen, in Success, of a console.log(result); and take a look at what returns.

  • Returns: Object Exceptiontype : "" Message : "There was an error Processing the request." Stacktrace : "" proto : Object

  • As you can see: the error occurred during the request process, from a look at this link where it contains the same problem you are having https://social.msdn.microsoft.com/Forums/pt-BR/78852569-ecad-4faf-abfa-f9209e27665/http-500-cors-erro-interno-do-servor-iis6-server-com-jquery-aspnet-e-webservice?forum=aspnetpt there’s also this other one I believe, will solve your problem : https://stackoverflow.com/questions/16085834/handling-errors-raised-by-jquery-ajax-method

  • I even tried to implement some things from this link, but it didn’t work. I’m thinking it might be some server security, because I’m developing remotely on a server (Server 2008)

  • As I said, you are blocking on permission grounds, research more about Cross Origin policy which is definitely the problem. Here is another link to help: https://developer.mozilla.org/en-US/docs/Web/HTTP/Controle_Acesso_CORS Good luck!

  • All right, thanks! I’ll study more on the subject.

  • For nothing! If the answer was helpful to you, don’t forget to rate! : ) Hugs!

Show 5 more comments

Browser other questions tagged

You are not signed in. Login or sign up in order to post.