[英]ASP.NET WebMethod returns whole page to JQuery ajax requests
[英]ASP.NET execute WebMethod with Jquery/AJAX
我有一個WebMethod,它將執行一些數據庫搜索並以某些HTML模板返回其數據。 我需要使用jquery執行此方法來填充網站的某個區域,但是問題是我的網站URL / URI是動態的。
我的網址是http://site/school-name/home
。 school-name
將始終更改以指示我正在訪問的學校。
到目前為止,我已經完成了:
$.ajax({
type: "POST",
url: "/Default.aspx/BuscaEquipe",
data: { 'pIndex': pIndex, 'pLimite': 4, 'pUnidadeCE': codigoEmitente },
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(response) {
alert(response.d);
},
failure: function(response) {
alert(response.d);
}
});
和WebMethod:
public static string BuscaEquipe(int pIndex, int pLimite, int pUnidadeCE)
{
var objEquipe = new Equipe { EquipeUnidadeCE = pUnidadeCE, EquipeAtivo = 1 };
var CaminhoImagem = Configuracoes.CaminhoVirtual + "Controles/Redimensiona.ashx?img=" + Configuracoes.CaminhoVirtual + "images/equipe/" + pUnidadeCE + "/";
if (!objEquipe.Listar(objEquipe)) return "";
var depoimentos = objEquipe.lstEquipe.Skip(pIndex).Take(pLimite);
var objJson = new JavaScriptSerializer().Serialize(depoimentos.Aggregate("", (current, equipe) =>
current + ("<div class='col-lg-3 col-md-3 col-sm-3'><img src='" + CaminhoImagem + equipe.EquipeImagem + "&w=400&h=400' alt='" + equipe.EquipeNome + "' class='img-circle img_perfil'><div class='nome_perfil text-center'>" + equipe.EquipeNome + "</div></div>")));
return objJson;
}
像這樣使用,我得到401未經授權,如果嘗試使用我的完整URL http://site/school-name/Default.aspx/BuscaEquipe
我得到404。
PS:我已經在另一個項目中使用了相同的方法,並且效果很好,但是我無法弄清楚這個問題出在哪里,我認為它可能與URl有關,但我不確定。
問題出在您的網址上
使用ResolveClientUrl()方法
<%= ResolveUrl("~/Default.aspx/BuscaEquipe") %>
並且您必須具有[WebMethod]屬性,然后才能使用靜態服務器功能
[WebMethod]
public static string BuscaEquipe(int pIndex, int pLimite, int pUnidadeCE)
{
//Code
}
您的數據:
var requestData = JSON.stringify({pIndex:pIndex,pLimite:4,pUnidadeCE:codigoEmitente})
接着
data:requestData
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.