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:
How to solve this problem?
On the console there is nothing talking about "Same origin Policy".
– Pedro Filipe
Is displayed some error?
– Jorge.M
Only "Undefined" appears on the console
– Pedro Filipe
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.– Jorge.M
Returns: Object Exceptiontype : "" Message : "There was an error Processing the request." Stacktrace : "" proto : Object
– Pedro Filipe
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
– Jorge.M
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)
– Pedro Filipe
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!
– Jorge.M
All right, thanks! I’ll study more on the subject.
– Pedro Filipe
For nothing! If the answer was helpful to you, don’t forget to rate! : ) Hugs!
– Jorge.M