Access to restricted URI denied“ code: ”1012 - Cross domain Ajax request

前端 未结 6 1123
梦如初夏
梦如初夏 2020-12-09 11:35

I Need to do cross domain Ajax request - Here is my code

 $.ajax(
        {
            url: redirectURL,
            data: $(\'#login-container form\').ser         


        
相关标签:
6条回答
  • 2020-12-09 11:55

    run it on any server like wamp or apache...

    it dont gives an error...

    NS_ERROR_DOM_BAD_URI: Access to restricted URI 
    
    0 讨论(0)
  • 2020-12-09 11:56

    One way to do it is to use your server as a proxy:

    AJAX Request          -> Your server -> Server of interest
    
    AJAX Response Handler <- Your server <- Server of interest 
    
    0 讨论(0)
  • 2020-12-09 12:03

    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.

    0 讨论(0)
  • 2020-12-09 12:07

    JSONP is not really Ajax in a way that it does not use XMLHttpRequest but a dynamic script element. jQuery makes this transparent but JSONP still requires the following to work:

    1. HTTP GET only, you can't use POSTs
    2. the server needs to support it by wrapping the response in a call to the callback you specify

    Check if the URL you request supports JSONP and change the call to an HTTP GET.

    0 讨论(0)
  • 2020-12-09 12:08

    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

    Access-Control-Allow-Origin: *
    

    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.

    0 讨论(0)
  • 2020-12-09 12:11

    "I need to do cross domain Ajax request"

    You can't do that, unless:

    • you are using grease monkey
    • you are making a jsonp request which isnt really ajax
    0 讨论(0)
提交回复
热议问题