【问题标题】:How to post dto data to a webservice with ajax/jquery on asp如何在 asp 上使用 ajax/jquery 将 dto 数据发布到 web 服务
【发布时间】:2015-01-12 13:59:57
【问题描述】:

祝你新年快乐。

我正在尝试在 asp.net 页面上为管理控制台创建一个 Jquery 对话框模式表单来创建新用户。目标是将表单数据发送到与 DTO 和存储过程相关的 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" %>

用户类

public class Users
{
    public string login {get;set;}
    public string fname {get;set;}
    public string lname {get;set;}
    public string password { get; set; }
}

【问题讨论】:

    标签: c# jquery asp.net ajax web-services


    【解决方案1】:

    如下几行调整您的代码。看看有没有帮助。

    $(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我弄错了。
    猜你喜欢
    • 2015-09-12
    • 2011-10-30
    • 2011-09-13
    • 2011-03-07
    • 1970-01-01
    • 2021-09-15
    • 1970-01-01
    相关资源
    最近更新 更多