来自jquery AJAX的调用webmethod中的身份验证失败

时间:2014-04-11 14:03:43

标签: c# jquery asp.net ajax webmethod

在这里,我从Jquery Ajax调用webmethod。在成功函数中,我看到了一个名为" Authentication Failed"

的错误

我在这里找到了错误图片 Error

我的WebMethod

[WebMethod,ScriptMethod]
public static List<UploadedFiles> GetAllUploadedFiles()
{
    List<UploadedFiles> UploadedFilesDetails = new List<UploadedFiles>();
    try
    {
        SqlCommand comGetAllFiles = new SqlCommand("SP_GetAllUploadedFiles", conDB);
        comGetAllFiles.CommandType = CommandType.StoredProcedure;
         if (conDB.State == ConnectionState.Closed)
            conDB.Open();

        SqlDataReader rdr = comGetAllFiles.ExecuteReader();
        DataTable dt = new DataTable();
        dt.Load(rdr);
        foreach (DataRow r in dt.Rows)
        {
            UploadedFilesDetails.Add(new UploadedFiles
            {
                Id = (int)r["Id"],
                UserId =(Guid)r["UserId"],
                FilePath = r["FilePath"].ToString(),
                Date =(DateTime) r["Date"]

            });
        }

    }
    catch(Exception ee)
    {
    }
    finally
    {
        conDB.Close();
    }
    return UploadedFilesDetails;
}

我的Ajax功能

<script>
     $(function () {
         LoadUploadFiles();
     });

     function LoadUploadFiles() {

        var url = '<%=ResolveUrl("WebMethods.aspx/GetAllUploadedFiles") %>';
        $.ajax({
            url: url,
            type: "post",
            dataType: "json",
            contentType: "application/json; charset=utf-8",
            success: function (Result) {
                debugger;
                $.each(Result.d, function (key, value) {
                    alert("y");

                    $("#uploaddata").append($("<table><tr></tr></table>").val
                     (value.Id).html(value.FilePath));


                });
            },
            error: function (e, x) {
                alert(x.ResponseText);
            }
        });
    }
 </script>

在我的Web.Config文件中

<location path="WebMethods.aspx">
<system.web>
  <authorization>
    <allow users="*"/>
  </authorization>
</system.web>

1 个答案:

答案 0 :(得分:9)

我找到了答案

只需在RouteConfig文件中的下方注释

 //settings.AutoRedirectMode = RedirectMode.Permanent;