www.webdeveloper.com
Results 1 to 3 of 3

Thread: XML/JS/PHP: Origin Not Allowed Error

  1. #1
    Join Date
    Jul 2011
    Posts
    54

    XML/JS/PHP: Origin Not Allowed Error

    I am trying to make use of the PHP/AJAX/MySQL example provided on W3Schools here: http://www.w3schools.com/php/php_ajax_database.asp to try and read some information from a MySQL database into a page that I am working on.

    The page loads normally, although it doesn't return any content from the PHP page / database.

    Firebug in firefox doesn't give me any errors, although it shows the GET request having an empty response, and Chrome gives me the following error message:

    "XMLHttpRequest cannot load http://www.mydomain.com/somepage.php...=2005&subgeo=1. Origin http://www.mydomain.com is not allowed by Access-Control-Allow-Origin."

    I did a bit of research on google to try and figure out what this could be, and it appears that the error generally shows up when trying to access a file on another domain, yet my JS, HTML, PHP and MySQL database are all on the same domain and same physical server.

    If I just type the link to the PHP file in my browser manually add in the GET parameters then it displays the result as expected. Because of this I am assuming the problem is with my javascript but I have posted the PHP code anyway.

    Here is the javascript I am using:
    PHP Code:
        if(FAMTYPE != "" && YEAR != "" && OECD != "")
        {
            if (
    window.XMLHttpRequest)
            {
    // code for IE7+, Firefox, Chrome, Opera, Safari
                
    xmlhttp=new XMLHttpRequest();
            }
            
            else
            {
    // code for IE6, IE5
                
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
            }

            
    xmlhttp.onreadystatechange=function()
            {
                if (
    xmlhttp.readyState==&& xmlhttp.status==200)
                {
                    
    document.getElementById("graph2").innerHTML=xmlhttp.responseText;
                }
            }
            
    xmlhttp.open("GET","http://mydomain.com/somepage.php?fam=" FAMTYPE "&year=" YEAR "&subgeo=99",true);
            
    xmlhttp.send();
        } 
    And here is the PHP code that runs the query:
    PHP Code:
    <?php
        $year 
    $_GET['year'];
        
    $famTypeStr $_GET['fam'];
        
    $subgeoStr $_GET['subgeo'];

        
    $con mysql_connect(/*DB INFO HERE*/);

        if (!
    $con)
        {
            die(
    'Could not connect: ' mysql_error());
        }

        
    mysql_select_db($dbName);
        
    mysql_query("SET NAMES 'utf8' COLLATE 'utf8_general_ci'");

        
    $sql="SELECT * FROM `householdinfo_" $year "` WHERE geography ='99' && subgeography ='" $subgeoStr"' && familytype LIKE'" $famTypeStr "%'";

        
    $result mysql_query($sql);
        
        while(
    $row mysql_fetch_array($result))
        {
            echo 
    "Geography: " $row['geography'] . "<br />";
            echo 
    "Subgeography: " $row['subgeography'] . "<br />";
            echo 
    "Family Type: " $row['familytype'] . "<br />";
            echo 
    "Family Count: " $row['familycount'] . "<br />";
            echo 
    "Median Income: "$row['medianincome'] . "<br />";
        }

        
    mysql_close($con);
    ?>
    Thanks for all your help in advance.

  2. #2
    Join Date
    May 2006
    Location
    Somewhere behind your screen
    Posts
    1,654
    did you try it this way?

    Code:
    xmlhttp.open("GET","somepage.php?fam=" + FAMTYPE + "&year=" + YEAR + "&subgeo=99",true);

  3. #3
    Join Date
    Jul 2011
    Posts
    54
    Yes, relative paths were the first thing I tried.

    Thank you for the suggestion though.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center



Recent Articles