I Need to do cross domain Ajax request - Here is my code
$.ajax(
{
url: redirectURL,
data: $('#login-container form').serialize() + querystring,
type: 'post',
cache: false,
dataType: 'jsonp',
jsonp: 'jsonp_callback',
});
Error: [Exception... "Access to restricted URI denied" code: "1012" nsresult: "0x805303f4 (NS_ERROR_DOM_BAD_URI)" location: "http://testsite/assets/scripts/jquery-1.3.2.js Line: 19"]
Source File: http://testsite/assets/scripts/jquery-1.3.2.js
Line: 19
I have checkout the following links too -
Access to restricted URI denied code: 1012
$.ajax(
{
url: redirectURL+'?callback=?',
data: $('#login-container form').serialize() + querystring,
type: 'post',
cache: false,
dataType: 'html' });
I have tried Callback in url too . I had already seen all link in stackoverflow regarding this issue.. but not able to overcome this thing Can anyone please help and tell me how to overcome !! Thanks
run it on any server like wamp or apache...
it dont gives an error...
If you do control the remote server, too, in recent browsers (IE8, FF3.5) you can overcome the cross-domain obstacle:
IE's XDomainRequest method and the W3C's and Mozillas Origin-Header.
In short, if your server sends back the HTTP header
with the AJAX response, IE and Mozilla will accept it, even if the request stems from a different domain. You can narrow down allowed requesting domains by replacing the
*
with them.JSONP is not really Ajax in a way that it does not use
XMLHttpRequest
but a dynamicscript
element. jQuery makes this transparent but JSONP still requires the following to work:GET
only, you can't usePOST
scallback
you specifyCheck if the URL you request supports JSONP and change the call to an HTTP
GET
.You won't be able to do a cross-domain POST request in the browser.
If you are making a JSONP call to access a cross-domain URL, you can use JQuery's getJSON method. This would allow you to make a GET request only. If you can submit your login information to the redirectURL using GET parameters, you could make this work.
Note that POSTing to remote login forms is perhaps the best example of why browsers disallow cross-domain requests like this. You don't want a page that looks like your bank to be able to actually serve you data from your bank's website -- that would make a very effective phishing page.
On the other hand, if you really want to work around this, you can write some server-side code that, given the input parameters, makes a post request to the redirectURL and funnels back the response.
Please tell me you are not writing a phishing page.
One way to do it is to use your server as a proxy:
"I need to do cross domain Ajax request"
You can't do that, unless: