Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Loading a text file through AJAX gives restricted URI error

I mentioned i read the suggested link ...and Could not able to understand the suggestion .."Use Greasemonkey to modify Pages and start writing some javascript to modify a web page

I am loading a text file with $.ajax. When running the code on Firefox, I get the following error:

Error: ["Access to restricted URI denied" code: "1012" nsresult: "0x805303f4 (NS_ERROR_DOM_BAD_URI)" location: "<unknown>"]

Here's my code:

<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">
</script>
<script language="javascript" type="text/javascript">
    $(document).ready(function () {
        $("button").click(function () {
            $.ajax({ url: "demo_test.txt",
                success: function (result) {
                    $("#div1").html(result);
                },
                error: function (abc) {
                    alert(abc.statusText);
                },
                cache:false
            });
            return false;
        });
    });
</script>
</head>
<body>

<div id="div1"><h2>Let jQuery AJAX Change This Text</h2></div>
<button>Get External Content</button>

</body>
</html>

I've already read the following questions:

  • firefox reading web page from local JS file -- access to restricted URI denied, code: 1012, nsresult: NS_ERROR_DOM_BAD_URI
  • Error: [Exception... "Access to restricted URI denied" .... while calling $.ajax method

It was suggested that file system should not be used, so changed the URL to http://demo_test.txt, but that did not solve the issue.

I also heard that it might be because of a cross domain issue. If so, what exactly is meant by that, and how should I solve the problem?

like image 848
Neeraj Verma Avatar asked Feb 18 '14 13:02

Neeraj Verma


2 Answers

Browser security prevents the code from running. You are better off running a local server such as IIS or Apache.

You can change your browser to run local content by changing a browser config

Firefox

  1. Go to about:config
  2. Find security.fileuri.strict_origin_policy parameter
  3. Set it to false
like image 57
epascarello Avatar answered Sep 19 '22 19:09

epascarello


I finally seems to Get it working . Here is working Script

$("button").click(function(){
    $.ajax({url:"http://localhost/demo_test.txt",success:function(result){
      $("#div1").html(result);
    }});
  });

Workaround : put the html file and text file on local server (IIS) New Site .

like image 34
Neeraj Verma Avatar answered Sep 18 '22 19:09

Neeraj Verma