Zoey Zoey - 3 months ago 31
Ajax Question

Send to database using ASP.NET, c# and jQuery

New to AJAX here.
Been trying to send to my database using AJAX but is is not working.
In my aspx.cs:

[WebMethod]
public static void saveMsg(string roomCode, string userName, string msg)
{
using (SqlConnection con = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["LBConnectionString"].ConnectionString))
{
SqlCommand cmd = con.CreateCommand();

cmd.CommandText = "INSERT into chatTable(roomCode, uName, msg) VALUES (" + roomCode + ", '" + userName + "', + '" + msg + "')";
cmd.Connection = con;
con.Open();

cmd.ExecuteNonQuery();

con.Close();
}
}


I am trying to insert data using AJAX and C# ASP.NET.
This is my aspx file

$.ajax({
type:'POST',
contectType: "application/json; charset=utf-8",
dataType: "json",
url:"Room.aspx?Board='" + roomCode + "'",
data: "{'roomCode':'" + roomCode + "','uName':'" + userName + "','msg':'" + <%=message.ClientID %> + "'}",
})


The full url is http://localhost:1759/Room?Board='//roomcode'.

Is there anything that went wrong? Like how I put the url into the AJAX function?
Thanks in advance!

EDIT:
Is it needed to put data type as JSON? New to JSON too...

Answer

Try this code :

Javascript :

function Getpath() {
if (!window.location.origin) {
    window.location.origin = window.location.protocol + "//" + window.location.hostname + (window.location.port ? ':' + window.location.port : '');
}
var Domainpath = window.location.origin + "/";
if (Domainpath.indexOf("localhost") == -1) {
    return Domainpath;
}
else {
    return Domainpath;
}
}

Ajax:

You will get the path in Getpath() Method.

var path = Getpath();
$.ajax({
                type:'POST',
                contectType: "application/json; charset=utf-8",
                dataType: "json",
                url: path +"Room.aspx?Board='" + roomCode + "'",
                data: "{'roomCode':'" + roomCode + "','uName':'" + userName + "','msg':'" + <%=message.ClientID %> + "'}",
            })
Comments