Cannot Call Webmethod From JQuery
Nov 8, 2010I cannot call webmethod from jquery. I think its about web.config file. How can i set web.config file for web services and webmethod?
View 1 RepliesI cannot call webmethod from jquery. I think its about web.config file. How can i set web.config file for web services and webmethod?
View 1 RepliesI am new to jqGrid and I have found it difficult to follow the documentation jqGrid Documentation / I cannot figure out how to call a WebMethod when setting up the JQGrid. I have been successful in making an Ajax call to get the data and then setting up the JQGrid with local data. I think its an extra step in the setup process and that I should be able to provide the path to the webmethod using the url property. The editurl property is the same way. I am never actually receiving the post to the server. Attempted JQGrid Setup
function GetData()
{
$('#list').jqGrid({
type: "POST",
url: "Default.aspx/GetUsersJSON",
datatype: "json",
height: 250,
colName: ['Username', 'Email'],
colModel: [
...
}).jqGrid(
'navGrid',
'#pager',
{
edit: true,
add: true,
del: true
});
}
WebMethod
[WebMethod]
public static string GetUsersJSON()
{
var users = new List();
using(UserAdministrationSandboxDataContext uasd = new UserAdministrationSandboxDataContext())
{
users = uasd.GetUserList();
}
JavaScriptSerializer serializer = new JavaScriptSerializer();
return serializer.Serialize(users);
}
Current Code I got it working correctly now, but I still have one final question. Why did I have to set the 'repeatitems: false' in order to display the content? Some of the caveats to get this to work include the different ways to setup the ajax request. (Ajax: type) is (jqgrid : mtype) (Ajax: contentType) is (jqgrid : ajaxGridOptions: { contentType: })
And finally understanding the documentation from the documentation on how to setup the JSONReader.
function GetUserDataFromServer()
{
$('#list').jqGrid({
url: "Default.aspx/GetUsersJSON",
mtype: 'POST',
ajaxGridOptions: { contentType: "application/json" },
datatype: "json",
serializeGridData: function (postData)
{
return JSON.stringify(postData);
},
jsonReader: {
root: function (obj) { return obj.d; },
page: function (obj) { return 1; },
total: function (obj) { return 1; },
records: function (obj) { return obj.d.length; },
id:'0',
cell:'',
repeatitems: false
},
datatype: "json",
height: 250,
colName: ['Username', 'Email'],
colModel: [
{
name: 'Username',
index: 'Username',
width: 100,
editable: true
},
{
name: 'Email',
index: 'Email',
width: 220,
editable: true
},
{
name: 'IsLockedOut',
index: 'IsLockedOut',
width: 100,
editable: true,
edittype: 'checkbox'
}
],
caption: "Users"
})
}
Web Method
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public static List GetUsersJSON()
{
using (UserAdministrationSandboxDataContext uasd = new UserAdministrationSandboxDataContext())
{
return uasd.GetUserList();
}
}
One JSON Object from the List
{"__type":"UserAdministrationSandbox.UserData","PKID":"00000000-0000-0000-0000-000000000001","Username":"TestUser","ApplicationName":"Test","Email":"TestUser@test.com","Comment":"TestUser","Password":"D41D8CD98F00B204E9800998ECF8427E","PasswordQuestion":"Is this a blank Password?","PasswordAnswer":null,"IsApproved":true,"LastActivityDate":"/Date(1298869200000)/","LastLoginDate":"/Date(1298869200000)/","LastPasswordChangedDate":"/Date(1298869200000)/","CreationDate":"/Date(1298869200000)/","IsOnLine":false,"IsLockedOut":false,"LastLockedOutDate":"/Date(1298869200000)/","FailedPasswordAttemptCount":0,"FailedPasswordAttemptWindowStart":null,"FailedPasswordAnswerAttemptCount":null,"FailedPasswordAnswerAttemptWindowStart":null}
I have 2 web pages edit.aspx and webmethods.apx. In edit.aspx there is some jquery code to get some data :
[Code]....
With this I try to get a Json object from the webmethods.aspx page :
[Code]....
I get an error back that says "Parser Error", I even did put an breakpoint on the webmethod but it is like it's never triggered. Is my url wrong if I'm in the following url :
[Code]....
Should I use something like ../WebMethods.aspx?
I am currently working with ASP.NET and the person who designed the form has used all Server Controls for things like TextBoxes and Dropdowns etc when really they are not providing postbacks.. Some of the dropdowns and textboxes are values that I need only in jQuery so as far as I can see there are no drawbacks to coverting these controls to standard html controls rather than ASP.NET server controls?
I suppose I will need to continue to have my GetDataGrid button as a server control because I will need it to postback (and receive PageLoad events etc - all asp.net events) to update the GridView? Or would it be possible to use the GridView (server control) from a Webmethod and call it via Jquery?
Of course in my webmethod I would need to the instance of the gridview to add the datasource - but I don't see how this would be possible without being in the ASP.NET events - or maybe I wrong?
The other thing I thought of was changing the GetGridView button to a standard HTML and calling the javascript postback from the client click event?? This way it would do a real postback and I would end up in Page_load.
Taking everything into effect i don't want to the change the GridView asp.net control as it funcions well as an asp.net server control but i am unsure how i would do this.
I remember a document being available that said "how to use asp.net webforms without server controls" but i can't seem to find it. I suppose using webforms like asp.net MVC - but i can't change the project to MVC - its out of my control.
Aspx Page:
$(document).ready(function() {
$("#btnn").click(function() {
$.ajax({
type: "POST",
url: "TestPage.aspx/emp",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
}
});
});
});
CodeBehind:
public void grdload()
{
GridView1.DataSource = GetEmployee("Select * from Employee");
GridView1.DataBind();
}
[WebMethod]
public static void emp()
{
TestPage re = new TestPage();
re.grdload();
}
I Can't Gridview Data Load ? How To Make GridView Data Load?
I am trying to make a jquery ajax call to a static method on the codebehind file. The problem is that ArtistManager injected by Spring is not static and I cannot use it in the static webmethod. I am looking for any ideas on how to implement this
ArtistList.aspx
[code]....
I want to call MsCaptcha Control in Static WebMethod,for validating. so,I want to check mscaptcha value in javascript or jquery without refresh the page.I think it is my solution that i use JqueryAjax.
View 7 Repliesi manage to add recrod via jquery ajax call to webmethod but i want to update the dropdown list once the record is been added. i dont want to use update panel. what would be the best way of doing that.
View 2 Replies[WebMethod]
public static string emp()
{
return "BlaBla";
}
Aspx Page:
$(document).ready(function() {
$.get("TestPage.aspx/emp", null, function(data) {
alert(data);
})
})
Message Box Output: TestPage.aspx on the page codes
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>
</title>
<style>
tr
{
background-color: red;
color: White;
}
</style>
How to make return string?
XP Pro,aspnet 2, IIS, Oracle I have a primary webpage that displays a tab and some summary data. The tab uses an iframe and the summary data is loaded by an async WebMethod call back to C#. The iframe page takes a short while to load depending on how much data is in there (sometimes upto 20 seconds?). The WebMethod call, or at least the content of it, is very fast. BUT, the WebMethod call won't return until basically the iframe has finished loading.
I've verified through Fiddler that the browser is initiating both requests at basically the same time. It's initiating the iframe call first followed immediately by the WebMethod call within the same second. My understanding is that browsers are limited to only two calls at once.
If I set a breakpoint at the end of my WebMethod call (even commenting out ALL it's guts so it just returns an empty string), that breakpoint won't fire until the aspnet page serving up the iframe has finished. Using threads window, I see both calls at the server. I just don't understand why the server won't actually run the Webmethod call until the first call has finished. I've searched the code looking Monitor.Enter, lock, etc to make sure nobody has inserted any other type of blocking code and I can't find anything. I've basically emptied out the WebMethod call and it just returns a string, but no matter what I do, it just won't return as fast as it can. If I comment out the iframe, then the WebMethod call returns within 2 seconds. With the iframe, it "looks" like the the webmethod call won't return until the iframe has finished.
1) Does aspnet only process one request per aspnet session id? Is it FIFO? I figured the webserver would just process requests and return each request as fast as it can.
2) What else can I do to get that summary data to return faster (but not actually loading and putting the data into the very first primary page) ?
INFO: IIS 7+ .NET 4.0
I have a webservice with a webmethod
[Code]....
I call it with
[Code]....
But the "InsertUpdateCategory" only execute the last part of the call specified (the one with Id 6), the first don't get executed
It seems like ASP.NET WebMethods are not "web servicey" enough to work with New-WebServiceProxy. Or maybe it is, and I haven't figured out how to initialize it?
So instead, I tried doing it manually, like so:
$wc = new-object System.Net.WebClient
$wc.Credentials = [System.Net.CredentialCache]::DefaultCredentials
$url = "http://www.domenicdenicola.com/AboutMe/SleepLog/default.aspx/GetSpans"
$postData = "{`"starting`":`"/Date(1254121200000)/`",`"ending`":`"/Date(1270018800000)/`"}"
$result = $wc.UploadString($url, $postData)
But this gives me "The remote server returned an error: (500) Internal Server Error." So I must be doing something slightly wrong.
how to call my PageMethod from PowerShell, and not get an error?
(function () {
var linechartResize;
linechartResize = function () {
$("#linechart-2").sparkline([160, 240, 250, 280, 300, 250, 230, 200, 280, 380, 400, 360, 300, 220, 200, 150, 100, 100, 180, 180, 200, 160, 220, 140], {
type: "line",
width: "100%",
height: "226",
[Code] ....
In the above javaScript function i am supplying numeric array . I want those values from C# method which gets the those values from database....
I'm trying to call a WebMethod (GetData()) for a control in a web page using javascript.
<script type="text/javascript">
$(document).ready(function () {
//this selector needs fixed
$('<%= Control1.ClientID %>').GetData(); });
</script>
<tel:RadScriptManager ID="RadScriptManager1" runat="server" />
<tel:RadAjaxPanel ID="RadAjaxPanel1" runat="server" LoadingPanelID="RadAjaxLoadingPanel1">
<uc1:Control ID="Control1" runat="server" />
</tel:RadAjaxPanel>
The uc:Control code:
[WebMethod()] [ScriptMethod()]
protected void LoadData() {
//stuff happens here }
I can't figure out what kind of selector to use. I have multiple controls on the page, and I want to call them at different times. What kind of selector or what command do I use to run this WebMethod?
I am trying to create a function that when a button is clicked it will pass all my records to my json page which will save my data. This is what i have so far
var t = this;
t.RecordsSave = function ($http) {
for (var i = 0; i <t.records.length; i++) {
var record=t.recordss[i];
var data = params( {
record: record.Number[i],
[Code] ....
I get the following error "params is not defined"
and "Cannot read property '0' of undefined"
How should i go about this. not familiar with angular js
In my web app, if user clicks a button, I have to kick off a long running task. I have to keep the user informed about the status of execution of the task from time to time. To accomplish this, I create a thread on button click which makes a synchronous webservice call. The webmethod works on a long running task; while the main thread informs the users about the status of execution.
Currently the webmethod call times out in approximately 90 seconds. I want to increase the timeout to 10 mins. I tried setting <httpRuntime executionTimeout="600"/> along with debug="false"; but in vein. Can anyone tell me what I am missing?
I have a 2007 excel addin app (VS2005) which calls a web service (also developed in VS2005). When the webservice returns a large amount of data I get the following exception
System.InvalidOperationException: There is an error in XML document (1, 14493956). ---> System.Xml.XmlException: '', hexadecimal value 0x1C, is an invalid character. Line 1, position 14493956.
at System.Xml.XmlTextReaderImpl.Throw(Exception e)
[code]...
is it possible to call a custom method or class before accessing webmethod from pageMethods ?
View 2 RepliesI found this Article from link : [URL] .... that explains how to call server-side Method from javascript,
I used your code, my server-side function is static, public, and also I added
[System.Web.Services.WebMethod]
and
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true">
How do I run a webmethod with jQuery. Asp.Net
the method load it the GridView
[WebMethod]
public void GetGrid()
{
DataProviderDataContext db = new DataProviderDataContext();
GridView1.DataSource = db.Employees.ToList();
GridView1.DataBind();
[code]...
I am using a webform and trying to use a $.ajax call a webmethod on my code behind to format and return some data. It sounded easy but I need the help of an expert. Here is what I have and perhaps someone could steer me in the right direction to solving this problem. for the time being all I want the [webmethod] to return is some dummy data so the jqgrid displays, after I get it displaying correctly I will work on the data column format. So for this sample to work correctly user would open web from and click on button "Load Grid" when this is clicked it calls the the [webmethod] on the server, the sever then gets the data and passes it back to the jquery .ajax call and then it gets loaded into the jqGrid.
[Code]....
and the codebehind
[Code]....
I am trying to implement your code in "Calling ASP.Net WebMethod using jQuery AJAX", but the alert is giving me the value "Undefined".
I believe my website (asp.net c#) is not correctely configured for webmethods.
My problem is that I have a jqury function basically I want to add gridview row into data base .so that pupose I am doing that by accessing webmethod ,but the web method can’t call from that code .
My data can’t save into data base I will check it.value should be passed but problem is that this function can’t call webmethod I will check it doing debudg.
my function should be call webmethod
Following my code
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js" type="text/javascript"> </script>
<script type="text/javascript">
$(function () {
[Code].....
my page Evaluation.aspx has this code
[Code]....
and I am calling the webmethod by javascript like this
[Code]....
The result is, I get the error function running and I get "undefined error" alert.Am I calling the procedure correctly? I put a breakpoint on the webmethod and it.
I have a web Method in my C# that is called via Jquery ajax method. The web method should return an object back to the Jquery which will be used to populate. I have tried returning a JsonResult object, the actual object and nothing seems to work! I'm not using MVC (Unfortunately). Is there a way that I can return an object from my web method which can be used by my AJAX method? here is the link for my JQuery AJAX method [URL]
View 1 Replies