Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在asp上使用ajax/jquery将dto数据发布到Web服务_C#_Jquery_Asp.net_Ajax_Web Services - Fatal编程技术网

C# 如何在asp上使用ajax/jquery将dto数据发布到Web服务

C# 如何在asp上使用ajax/jquery将dto数据发布到Web服务,c#,jquery,asp.net,ajax,web-services,C#,Jquery,Asp.net,Ajax,Web Services,祝你新年快乐 我正在尝试构建一个Jquery对话框模式表单,以便在asp.net页面上为管理控制台创建新用户。目标是将表单数据发送到与DTO和存储过程相关的Web服务。我不明白当我试图将表单发布到我的Web服务时,为什么会出现内部服务器错误。我的web访问是经过严格过滤的,所以搜索起来并不容易(在堆栈上,我没有任何css) 你能帮我解决这个问题吗 谢谢你的帮助 网络服务: using System; using System.Collections.Generic; using System.C

祝你新年快乐

我正在尝试构建一个Jquery对话框模式表单,以便在asp.net页面上为管理控制台创建新用户。目标是将表单数据发送到与DTO和存储过程相关的Web服务。我不明白当我试图将表单发布到我的Web服务时,为什么会出现内部服务器错误。我的web访问是经过严格过滤的,所以搜索起来并不容易(在堆栈上,我没有任何css)

你能帮我解决这个问题吗

谢谢你的帮助

网络服务:

using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.Services;

    [WebMethod]
    public static string InsertData(Users users)
    {
        SqlConnection connect = new SqlConnection();
        connect.ConnectionString = ConfigurationManager.ConnectionStrings["Database"].ConnectionString;
        try
        {
            SqlCommand cmd = new SqlCommand();
            connect.Open();
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.CommandText = "InsertUser";
            cmd.Parameters.AddWithValue("@login", users.login);
            cmd.Parameters.AddWithValue("@firstname", users.fname);
            cmd.Parameters.AddWithValue("@lastname", users.lname);
            cmd.Parameters.AddWithValue("@password", users.password);
            cmd.Connection = connect;
            cmd.ExecuteNonQuery();
            connect.Close();
            return "succes";
        }
        catch (Exception ex)
        {
            return "error";
        }
    }
}
aspx.page

$(document).ready(function() {
    $('#btnsubmit').click(function() {
        var myData = "{'login':'"+$("[id$='logintxt']").val() +"' , 'fname':'"+$("[id$='fnametxt']").val() +"' , 'lname':'"+$("[id$='lnametxt']").val() +"' , 'password':'"+$("[id$='passwordtxt']").val() +"')";
        SendNewUser(myData);
        function SendNewUser(myData) {
            $.ajax({
                type: "POST",
                url: "Webservice.asmx/InsertData",
                data: JSON.stringify({ "users": [myData] }),
                contentType: 'application/json;charset=utf-8',
                dataType: 'json',

                succes: function (result) {
                    alert("Record saved successfully !");
                },
                error: function (XMLHttRequest, textStatus, errorThrown) {
                    alert("Error function : " + XMLHttRequest.toString() + "\n\Status : " + textStatus + "\n\Error : " + errorThrown);
                }
            });
        }

    });
});
还有.asmx

<%@ WebService Language="C#" CodeBehind="~/App_Code/WebService.cs" Class="WebService" %>

在以下几行中调整了代码。看看这是否有帮助

$(document).ready(function() {
$('#btnsubmit').click(function() {
    /*Changed below line*/
    var myData = "[{'login':'"+$("[id$='logintxt']").val() +"' , 'fname':'"+$("[id$='fnametxt']").val() +"' , 'lname':'"+$("[id$='lnametxt']").val() +"' , 'password':'"+$("[id$='passwordtxt']").val() +"'}]";
    SendNewUser(myData);
    function SendNewUser(myData) {
        $.ajax({
            type: "POST",
            url: "Webservice.asmx/InsertData",
            data: JSON.stringify({ "'users': "+ myData }),  /*Changed this line*/
            contentType: 'application/json;charset=utf-8',
            dataType: 'json',

            succes: function (result) {
                alert("Record saved successfully !");
            },
            error: function (XMLHttRequest, textStatus, errorThrown) {
                alert("Error function : " + XMLHttRequest.toString() + "\n\Status : " + textStatus + "\n\Error : " + errorThrown);
            }
        });
    }

});
});

谢谢,经过研究我找到了解决办法。我在Webservice的url上犯了一个错误。
$(document).ready(function() {
$('#btnsubmit').click(function() {
    /*Changed below line*/
    var myData = "[{'login':'"+$("[id$='logintxt']").val() +"' , 'fname':'"+$("[id$='fnametxt']").val() +"' , 'lname':'"+$("[id$='lnametxt']").val() +"' , 'password':'"+$("[id$='passwordtxt']").val() +"'}]";
    SendNewUser(myData);
    function SendNewUser(myData) {
        $.ajax({
            type: "POST",
            url: "Webservice.asmx/InsertData",
            data: JSON.stringify({ "'users': "+ myData }),  /*Changed this line*/
            contentType: 'application/json;charset=utf-8',
            dataType: 'json',

            succes: function (result) {
                alert("Record saved successfully !");
            },
            error: function (XMLHttRequest, textStatus, errorThrown) {
                alert("Error function : " + XMLHttRequest.toString() + "\n\Status : " + textStatus + "\n\Error : " + errorThrown);
            }
        });
    }

});
});