lilmer Posted March 10, 2014 Share Posted March 10, 2014 Hello good day, I have a problem running an HTML5 mobile app. I am using Intel XDK as an IDE to build an android mobile application, on my desktop simulator of Intel XDK, AJAX call are working fine but when I to run the app on my mobile device using USB debugger ajax call is not working, it gives me an error of XMLHttpRequest cannot load https://www.site.com/index.php?mobile/loginauthenticate. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'file://' is therefore not allowed access. on my server side code I already put header('Access-Control-Allow-Origin', "*"); as it is needed to accept data from cross browsing, but still I get the same error, anyone that knows what did I done wrong ?Here's my ajax request code: var URL = 'https://www.site.com/index.php?mobile/'; $.ajax({ type:"POST", url:URL+'loginauthenticate', data:{email:email,password:password}, dataType:'json', beforeSend: function(){ $.ui.showMask('Logging in...'); } }).success(function(data){ var object = data; if(object.result === 'yes'){ $.ui.manageHistory=false; sessionToken = object.sessionToken; logged = true; localStorage.setItem('sessionToken',sessionToken); localStorage.setItem('logged',true); localStorage.setItem('email',email); $.ui.hideMask(); //$.ui.loadContent("#account_page"); processAccount(sessionToken); }else{ $.ui.hideMask(); alert(data.error); } console.log(object); }).error(function(xhr, status, error){ $.ui.hideMask(); console.log(xhr); console.log(status); console.log(xhr); }); Thanks Quote Link to comment Share on other sites More sharing options...
requinix Posted March 10, 2014 Share Posted March 10, 2014 (edited) How about posting the PHP code? Edited March 10, 2014 by requinix Quote Link to comment Share on other sites More sharing options...
lilmer Posted March 12, 2014 Author Share Posted March 12, 2014 public function cors(){ // Allow from any origin if (isset($_SERVER['HTTP_ORIGIN'])) { header("Access-Control-Allow-Origin: {$_SERVER['HTTP_ORIGIN']}"); header('Access-Control-Allow-Credentials: true'); header('Access-Control-Max-Age: 86400'); // cache for 1 day } // Access-Control headers are received during OPTIONS requests if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') { if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_METHOD'])) header("Access-Control-Allow-Methods: GET, POST, OPTIONS"); if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS'])) header("Access-Control-Allow-Headers: {$_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']}"); exit(0); } } public function loginauthenticate(){ $this->cors(); header('Access-Control-Allow-Origin', "*"); } I did not include the authentication function for validating the POST request. I think the problem is when trying to request on that URL. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.