I want to create an object on the client side of an aspx page. And I want to add functions to these javascript classes to make life easier.
In fact, I can get and use objects (obtained from classes on the server side) that are returned from services. When I wanted to send objects from the client using jQuery ajax methods, I could not do this :)
These are my javascript classes:
function ClassAndMark(_mark, _lesson){ this.Lesson = _lesson; this.Mark = _mark; } function Student(_name, _surname, _classAndMark){ this.Name = _name; this.SurName = _surname; this.ClassAndMark = _classAndMark; }
And this is the method for the Student class to call the web service:
JSClass.prototype.fSaveToDB(){ $.ajax({ type: "POST", contentType: "application/json; charset=utf-8", url: "/WS/SaveObject.asmx/fSaveToDB"), data: ????????????, // This might be: JSON.stringify(this) ? // Web service method has a parameter, name is _obj // if i don't send data with parameter, i'm getting this error: // Invalid web service call, missing value for parameter: '_obj' // // Should i send it like that: // data: "{_obj:" + JSON.stringify(this) + "}" // // I tried to wrap this with parameter like that: // data: JSON.stringify("{_obj:" + this + "}") // // But i got this error: // Cannot convert object of type 'System.String' to type 'System.Collections.Generic.IDictionary`2[System.String,System.Object]' dataType: "json" }); }
To create a javascript object and call its method to send it to a web service:
Actually, I donβt know what the definition of server-side classes and methods should be, but I think:
class ClassAndMark{ public string Lesson ; public string Mark ; } class Student{ public string Name ; public string SurName ; public ClassAndMark classAndMark ; }
The web service is lower, but again I could not get what should be instead ????
[WebMethod()] public Student fSaveToDB(???? _obj) { // How can i convert input parameter/parameters // of method in the server side object? // SQL operations // srting QInsert = "INSERT INTO tableName (......) VALUES (.....)"; // ... // .. // . return new Student{ Name = ???, // deserialize _obj and pass its Name value SurName = ???, // deserialize _obj and pass its SurName value classAndMark = ???, // deserialize _obj and pass its classAndMark value }; }
json jquery c # web-services
uzay95
source share