I have a little issue with the use of jQuery and a call with the method Ajax. The problem appears with IE7 when I call just after the page was loaded. If I wait 2/3secondes, I don't have this beautiful message :
I'm fairly new to javascript and JQuery so please bear with me. I've written a simple app using JQuery whose purpose is to select the fastest mirror site. To this end I use several $.ajax calls - one to each mirror site -and I don't do anything with the data I get from these, I only use the order in which they respond to sort the sites from fastest to slowest. I'd share the code, but really the only thing it does is call the $.ajax function and append a line in a table using the success: callback. This works perfectly fine for most browsers, except IE which throws the 'access is denied' error. I know about cross domain restrictions and understand the reasoning behind - my plan was to put my script in the 'trusted' zone and enable the required options to bypass the problem as this will be used in a controlled environment, but no matter what I try my code won't run in IE. Some of my mirror sites are indeed in a different domain. What I have trouble understanding is why all other browsers (FF, Chrome etc), with their default configuration, allow my code to run flawlessly? If the reasoning behind IE blocking this is correct, then why do others allow it? Also obviously for my purpose using a server-side proxy makes no sense as I want to test the sites from the client side, not from the server. I've also read about other work arounds such as JSONP but unfortunately the sites that I'm testing cannot support this. But once again, what I'm really wondering about is why my code works flawlessly in other browsers..
I'm using .ajax for my async requests. When I use a file nameds as "ajax.php" all works fine. But when I use a full domain like [url] I doesn't get a answer. In Firebug I only get the [url]
The Answer body is also empty. What is wrong in my code?
I am recentlyexperiencinga problem with .ajax calling cross domain asp.net webservice. It started working fine, until the data returned from server is becoming too big and suddenly the ajax call caused errors, if i reduce the data length then the error went away. After doing some debug, i have identified the problem being the callback was inserted into the returned data.
Is it possible to use $.ajax to call an external web service directly, or do I need to write a dot net server-side wrapper to consume the web service, then call the wrapper from jQuery ?
I have attempted a direct call as shown below, which works fine in IE but generates an error in Firefox, which I presume relates to the cross-domain scripting issue.
I'm doing a JSONP query of a Wordpress database. Example call:[URL].. This code returns the expected data when executed on my local server. It also returns the expected data when I upload it to one of my remote servers. But it fails when run from the root of the domain it's calling, [URL]... no data is returned. (Behavior is the same for latest versions of Firefox, Safari, Chrome.)
I think there's something really simple going wrong here but don't know what it is. The only clue I have is provided by Firefox: When run successfully, all of the GET's appear in the JS subpanel of NET. The failed calls, launched from the domain containing the database, are listed in the XHR subpanel with a status of "301 Moved Permanently".
I trying to make a call to an external domain using $.ajax() and it WORKS, the server receives the call, but the response in firebug errors out in jquery.js line 7760. I've been beating my head at this all day and don't feel like I've made it much further.
I suspect it has something to do with the dataType or type of the request. But I've tried all kinds of things from POST to GET to JSONP in the type. For dataType, I've also tried "html", "text", "xml", "json", and even some combos of "text html" but no success.
All I'm doing righthere is calling a Perl script on an intranet server and using the xml results to popluate a <select> element. This works on my machine but a co-worker is getting a "Permission Denied" error when this function is executing onReady
function populateGroups(){ var p = 1; var groupNames = new Array(); $.ajax({ type:"GET", .....
I had him run a tracert to that server and we all connected through the same network devices... And this works on a couple of other co-worker's computers. He also does have access to that server so that he can type in the url and get the xml results...
I wish to make an AJAX call to a script on a different domain - realise this is a security problem, but is this at all possible?
My client is embedding html web pages into his ebay listings, and he wants to centrally update the product information. Maybe there is a different / better way to go about this?
I'm writing this post as there are alot of questions about Cross Domain AJAX request so i'm going to give an overview of the different ways and the best practices Ok so there are 2 systems for this the key difference is how much control you have.
If you control the Requested site you can use Javascript Safe calling to that server, this is all done via a few Headers so to do this all you have to do is send some headers from the page your requesting.
The first is tell the browser that the site the AJAX call is coming from is allowed this is done with
"Access-Control-Allow-Origin: " Now this can be set to a wild card and allow all sites to access the page
"Access-Control-Allow-Origin: *" Or you can say only a set server can "Access-Control-Allow-Origin: mydomain.com"
This header allows GET requests but what if you need to post data to the site well you need to tell the browser that POST data is allowed to be sent Access-Control-Allow-Headers: GET,POST
Now we run into the problem that sending post data the browser will send the header Content-Type but your server has not told the browser its allowed to send that header so Access-Control-Allow-Methods: Content-Type Will allow the header to be sent if you wish to send any other custom headers you have to make your server tell the browser its allowed to send them this is done by adding them as a comma delimited list via the "Access-Control-Allow-Headers" header
Now if you dont have control well then your back to using a script that is local to the AJAX script then sending the data via cURL or another connection method to the remote server
I know cross domain Ajax request are denied due to the security issues. As an alternative to this, I have heard of using JSON. I tried to use that, but I am unable to get it work. I had also tried the jQuery's $.getJSON() that didnot work as well.
Could you please provide me some working examples for this case?
I'm making a script that requires cross-domain scripting to get the statuscode of other files. I'm currently using a small PHP script to relay the files from the remote server onto mine. If I want to get the files directly using AJAX, it is not allowed for obvious reasons. I don't want the actual files, I only want to get the status code of that file, and it is going to be either a 404 or a 301. I would've assumed that as the AJAX call is never attempted, the statusCode will be 0, and this is what the actual call variable returns.
However, in Firebug it shows the statuscode next to the request (404 or 301), even if, the call has never been made. Why is the statuscode appearing in Firebug but not in the statuscode variable?
I am using .ajax() to access cross-domain data using JSONP. Because I need to be able to cache the data I want to use a static name for thejsonpCallback function, so I have set the jsonpCallback option in the .ajax() request. However that appears to requires a global function whereas the auto generated function didn't (well maybe it did but that was all hidden from me).
I definitely need to be able to cache the results. Ideally I wouldn't have a global function handling the data. Is there another way to do this? If not what is the best practice way to go about using a global function these days and how do I provide it with the context of the object/module it was called from - which is where the data is needed?
Is it possible to capture the domain change event OR domain of the target site in javascript? To elaborate, suppose I am on my site (www.mydomain.com) and if I type www.someotherdomain.com in the address bar, I want to capture the target URL/domain i.e. someotherdomain.com in the javascript code of my site (mydomain.com). I am trying to call sign-off function of my site upon customer navigation to some other site without loggin off. I can not use body/window onUnload function because I have a common layout JSP that would be reloaded for each and every page. So I am trying to capture the URL/domain of target site and check if it is different from teh current domain; Then only I will call my sign-off function to kill the customer session.