【问题标题】:Why occur Internal server error in my ajax query?为什么在我的 ajax 查询中出现内部服务器错误?
【发布时间】:2017-03-29 12:55:59
【问题描述】:

我想向服务器传递一些值,它必须返回一个字符串。

jQuery 版本

 <script src="js/jquery-3.1.1.js"></script>

这是我的代码:

 $('#btnSaveFile').click(function () {
    var fileName = $('#txtFileName').val();
    alert(fileName);
    $.ajax({
        url: 'ReportTotalSalesPivot.aspx/getFileExistOrNot',
        method: 'GET',      //method or type ?
        contentType: 'application/json',
        data: '{fileName:' + fileName +'}',  //UPDATED Line
        dataType: 'json',
        success: function (data) {
            alert('success');
            alert(data.d.exist);
        },
        error: function (error) {
            alert('fail');
            alert(error);
        }
    });
});

Aspx 代码

    [WebMethod]
    public static string getFileExistOrNot(string fileName)
    {
        string cs = ConfigurationManager.ConnectionStrings["HQWebMatajer13"].ConnectionString;
        using (SqlConnection con = new SqlConnection(cs))
        {
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = con;
            cmd.CommandText = "select ReportData FROM [HQWebMatajer].[dbo].[ReportSave] where Userfilename=@UserFileName  and ReportName=@ReportName";
            cmd.Parameters.AddWithValue("@UserFileName", fileName);                
            cmd.Parameters.AddWithValue("@ReportName", "TotalSales");
            con.Open();                
            var data = cmd.ExecuteScalar();
            if (data != null)
            {
                string exist = "dataExist";
                return exist;
            }
            else
            {
                string exist = "notExist";
                return exist;
            }
        }            
    }

错误消息 GET http://localhost:55047/ReportTotalSalesPivot.aspx/getFileExistOrNot?fileName:www} 500 (Internal Server Error)

ExceptionType:"System.InvalidOperationException"

消息:“尝试使用 GET 请求调用方法 'getFileExistOrNot',这是不允许的。”

StackTrace:" 在 System.Web.Script.Services.RestHandler.GetRawParams(WebServiceMethodData methodData, HttpContext context) ↵ 在 System.Web.Script.Services.RestHandler.ExecuteWebServiceCall(HttpContext context, WebServiceMethodData methodData)"。

我认为这个错误发生在服务器端。但我不知道那是什么

更新

错误消息:“无效的 Web 服务调用,缺少参数值:'fileName'。”

【问题讨论】:

标签: javascript jquery json ajax webmethod


【解决方案1】:

如下发送您的数据

对象格式

data: { fileName:fileName },

作为字符串

data = "fileName="+filename;

【讨论】:

  • 尝试使用method:"POST"
  • 尝试在url: 'ReportTotalSalesPivot.aspx/getFileExistOrNot?fileName='+fileName这样使用,不需要单独发送数据,
  • 不...天哪
【解决方案2】:

一天后我发现我的错误是什么。

这就是答案

data:'{fileName:"'+fileName+'"}'

【讨论】:

    猜你喜欢
    • 2015-04-06
    • 2023-04-01
    • 2021-09-17
    • 1970-01-01
    • 1970-01-01
    • 2021-08-10
    • 1970-01-01
    • 2016-05-23
    • 1970-01-01
    相关资源
    最近更新 更多