I have a simple script making a request to the server:
var DTO = { 'path': path };
var url = 'default.aspx/Get';
var test;
$('#getInstance').click(function () {
$.ajax({
url: url,
type: 'POST',
dataType: 'json',
data: JSON.stringify(DTO),
contentType: 'application/json; charset=utf-8',
success: function (msg) {
test = msg;
},
error: function (jqXHR, textStatus, errorThrown) {
alert(textStatus);
alert(errorThrown);
}
});
});
This works fine as in it connects to the server and gets the data back, with one simple problem. It is treating this request as a cross domain request, therefore using jsonp. The server code is here:
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public static MyObject Get(string path)
{
MyObject foo = new MyObject();
return foo;
}
Normally this would not be a problem, except that I am accessing a WebMethod, and it doesnt have the capability to return a jsonp response (meaning it has no way to attach the callback function to the response. Now, if this was a manual response, I could hack it up and attach the parameter, but I am taking advantage of the built-in serialization, so no way to mess around with the response. [URL]
Let me just stress the fact that this code works. The only problem is jQuery treating this request as cross domain. But Why? UPDATE: Well, after many more hours and more testing I have narrowed this issue down to it being a bug in jquery 1.5.1. I did some testing with older versions (all 1.4 versions) and I had no problem, the request was made using JSON, and the response was received successfully. What could be the change they made that would consider this request a CORS?
I am developing web application and in application i need to make call of jQuery using .ajax(); method with datatype is set jsonp. Now all works well with limited data but problem start to occur when data size is increasing......
I am trying out jsonp with jQuery. I found many examples on the web and I believe my code is correct, but its still not working for me.
My web service:
using System.Web; using System.Web.Script.Services; using System.Web.Services; using System.Web.Script.Serialization;..........
Firebug shows this is a success, but I am getting null from the alert. I have my webservice in iis7 locally and I am testing through my debug in my client project.
I'm building a greasemonkey script to make posting to craigslist a lot easier for our clients.
Basically the flow is this:
User logs into our system (established authentication cookies with asp.net)User navigates to a section on our site called "CraigsList". If they have the greasemonkey script installed it automatically opens up craigslist in a new tab.
The greasemonkey script then does a request back to our site at [URL] to retrieve a list of available items to be posted to craigslist.
This is where it fails because the request to [URL] is not including any of the authentication cookies. I'm not sure if it doesn't include the cookies because the request originates from [URL] and not [URL] or what. I know it's an authentication issue because looking at it in fiddler it returns a 302 and redirects to the login page.
in my webservice (asp.net) I'm returning the response with a content type of application/javascript. The response the server is actually sending back is: jsonp1276109314602({"message":"I'm getting tired of this not working"}) The jsonp1276109314602 method name is being randomly generated by jquery, and I'm grabbing it with Request.QueryString["callback"] However my success function is never called and the firebug console gives me an error saying jsonp1276109314602 is not defined. What am I doing wrong?
NOTE: I'm making this call from a greasemonkey script on a craigslist page. It's a cross-domain request, but I can see the request is actually making it to the server and returning a good response, but for whatever reason the registered callback that jquery creates appears to not exist when the response comes back. It works fine if I run the script in the firebug console from the craigslist page, but not when it's run from the greasemonkey script.
EDIT: At first I thought it wasn't working cross domain at all, now I realize it only works in IE. I'm using jQuery to call a web service (ASP.NET .axmx), and trying to us jsonp so that I can call it across different sites. Right now it is working ONLY in IE, but not in Firefox, Chrome, Safari. Also, in IE, a dialog pops up warning "This page is accessing information that is not under its control..."
I´m using mvc futures 2 with WebApiEnabled for XML and JSON support. But due to cross domain issues with jQuery $.ajax I´m lookin in to JSONP. Is there a simple way to extend futures rest function for JSONP or should I do something else.
I'm using ajax to call a webmethod from javascript. The call is successfully made to the webmethod but I'm not able to access the parameters I passed to the webmethod inside of the "OnSucceeded" callback method. I need access to those params because I need to perform more tasks on the client side when the webmethod returns. I'm assuming that the params are returned inside "usercontext", but the value of that param is "null" How can I have access to those params?
Here my sample code:
function OnSucceeded(result, usercontext , methodName) { alert( result + ' The value of usercontext is: ' + usercontext); } function OnFailed(error, userContext, methodName) { alert('Attempt to delete semantic attribute from page failed!'); } function deleteSemanticAttribute() { var username = 'xxxxxx'; var password = 'yyyyyy' PageMethods.GetMyData(username, password, OnSucceeded,OnFailed); } [WebMethod] public static string GetMyData(string username, string password) { return "This is my test application!"; }
I developed a website in ASP.NET with huge Database, Now i have another website in HTML & PHP. I want to make user login authentication from HTML website which will authenticate the login details from the old website's Database.
Database used is SQL Server 2005.
I Created t HttpHandler to authenticate the user in old website.
I want to make a JQuery request from HTML website to old website which will authenticate login details and will redirect to the user to new page according to user type.
I have a following issue (it's only happening in Internet Explorer).
I add callback to a page in the old-fashioned way -> Page.ClientScript.RegisterClientScriptBlock(...)
The scenario is: 1) The default page is being loaded. On Page_OnLoad it assigns a NULL to some session key. Let's call it Control -> Session["Control"] = null;
2) User presses a button and gets redirected to a next page (let's call it NextPage.aspx) using javascript event -> window.location.assign(....) (also tried .href = ... - no help)
3) The NextPage.aspx assigns some value to Session["Control"] on Page_OnLoad
5) User clicks a button on the NextPage.aspx and a callback request is being sent to a server....
TA DA!!! The interesting part:
6) Along with the request to the NextPage.aspx another request is being sent to the default page.
7) The only response is being recieved by a client is a response from the NextPage.aspx BUT since the code on the default page is being executed it puts null to the Session["Control"] which screws all my following scenario. the default page doesn't recognize the request as a callback? so if(IsCallback) {} doesn't help....
I believe it's not a code issue since as I wrote above it works in development environment,but I have no clue what can 'cause it to fail in production and only in IE...
At least what to start to look at... and I have Helicon's ISAPI Rewrite installed on the production server. It doesn't seem to be the cause but who knows....
Correction
if I do not assign window.location and just add a link to the NextPage.aspx and click it manualy after callback ended it still sends extra request to the default page. if I click the link before I initialize callback it works fine without extra request.
The service cannot be activated because it does not support ASP.NET compatibility. ASP.NET compatibility is enabled for this application. Turn off ASP.NET compatibility mode in the web.config or add the AspNetCompatibilityRequirements attribute to the service type with RequirementsMode setting as 'Allowed' or 'Required'.
when i try to access wcf service i get this error: the reason is HttpContext.Current is null, what should i do in this case?
Object reference not set to an instance of an object.
System.Web.Script.Serialization.JavaScriptSerializer s = new System.Web.Script.Serialization.JavaScriptSerializer(); Person p = new Person() { FirstName = "First name", LastName= "last name" }; string json = s.Serialize(p); System.Web.HttpContext.Current.Response.Write("jsoncallback" + json);} //error
How can I implement Jquery JSONP in my ASP.NET project. My application flow is described below:
1) I am opening a HTTP page, where I have got JQuery login dialog box, from which username and password is posted to my Login.aspx page, which has got one method "GetLoginDetails" which takes posted username and password and sends to a WEBSERVICE which checks the users name and password and return back with "success=true"
2) so in my response I get "success=true", I read that value from jquery and works according to responded text on my client side it display message "Logged in Successfully".
I have the following code where the function codeaddress geocodes the text feild value and returns geocoded value , geocoded value is stored in variable example ,how will i return the variable v2 to the function call and post to asmx webservice.
I have this polling script to check if a text file is created on the server. Works great locally, but fails when the file is on a different domain. How would i rewrite this for cross domain support?
EDIT: I ended up using YQL to solve the cross domain issue and although it works, YQL is really slow that's adding quite a bit of performance overhead. Can anyone suggest a better solution for cross domain JQuery calls?
Reponse results empty. This URL is a redirect to another page with query string, I already have a page that parses the query string and write the output to a page.But response is blank.
I am just wondering that, is there anyway to make an Ajax request using jquery ("$.ajax") and making partial rendering without using the .NET Ajax framework (without script manager).
I have tried this before, but it's executing the page_load every time and not reaching to the pagemethod.
I have a usercontrol that uses a callback to update itself. If I add the control to the aspx page everything works fine. However, when i add the control using Page.LoadControl and Control.Add on a Placeholder i get the following error: "The target 'ctl00$ContentPlaceHolder1$ctl00' for the callback could not be found or did not implement ICallbackEventHandler". I tryed assigning the ID of the control also which failed with the same error. I am using asp.net 2.0.
I tried the Request.IsAjaxRequest but this does not exist in WebForms. I am making a JQuery ajax call. How do I check if this is a ajax request or not in C#?
I am trying to send data to my code behind method. It works except when I add to the data param.
[code]....
UPDATE: After seeing what client side errors were being thrown it seems that the ID is undefined. Is my method of getting the elements ID incorrect? Keep in mind I am using jsTree and ca I possibly use (obj)?
Controller: Products and Action: Save, return a JsonResult. If a trapped exception occurs, i would like to signal that error to the client (ie:jQuery) with a custom error message. How can I do that both on the server and client? Can i utilize the function pointer error in this scenario?
im working on a MVC 3 webapp where i want to post to a controller function using jQuery ajax. However, every time i post to the server i get a 400 Bad Request response and i can't figure out where this comes from as the site runs fine with the VS2010 devserver.
See the function im using to send the ajax post below: